java 寻找水仙花数
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
package Studytest;
public class Prog3 {
public static void main(String [] args)
{
for(int i=100;i<1000;i++)
{
if(isLotus(i))
{
System.out.print(i+" ");
}
}
}
//判断水鲜花数
private static boolean isLotus(int lotus)
{
int bai=0;
int shi=0;
int ge=0;
int sum=0;
int n=0;
n=lotus;
bai=n/100;
sum=bai*bai*bai;
n=n-(bai*100);
shi=n/10;
sum+=(shi*shi*shi);
ge=n-(shi*10);
sum+=(ge*ge*ge);
if(lotus==sum)
{
return true;
}else {
return false;
}
}
}
运行结果: