黑马程序员技术交流社区
标题:
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数...
[打印本页]
作者:
ln0491
时间:
2015-9-2 10:28
标题:
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数...
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;
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2