- package com.db1;
- /**
- * 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,
- * 其各位数字立方和等于该数本身。
- * 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
- * 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位
- * @author denny
- *
- */
- public class Demo5 {
- public static void main(String[] args) {
- for (int i = 100; i < 1000; i++) {
- if(isLotus(i)){
- System.out.println(i+" ");
- }
- }
- }
- //判断是不是水仙花数
- public static boolean isLotus(int num){
- int baiWei=num/100;
- //System.out.println(baiWei);
- int shiWei=num/10%10;
- //System.out.println(shiWei);
- int geWei=num%10;
- //System.out.println(geWei);
- //int sum=baiWei*baiWei*baiWei+shiWei*shiWei*shiWei+geWei*geWei*geWei;
- int sum=(int) (Math.pow(baiWei, 3)+Math.pow(shiWei, 3)+Math.pow(geWei, 3));
- if(sum==num){
- return true;
- }else{
- return false;
- }
- }
- }
复制代码
|
|