本帖最后由 请叫我丶菜鸟 于 2014-12-12 22:53 编辑
/*
题目:打印出所有的"水仙花数",
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",
因为153=1的三次方+5的三次方+3的三次方。
个位:153%10=3
十位:150/10%10=5 150怎么得到呢? 153/10*10
百位:100/100%10
*/
class Prog3
{
public static void main(String[] args)
{
isLotus();
}
static void isLotus()
{
double sum=0; //个位上的数值
int count=0; //十位上的数值
int gw,sw,bw; //百位上的数值
//下面的循环是判断是否符合水仙花
for(int x=100;x<=999;x++)
{
gw=x%10;
sw=x/10%10;
bw=x/100%10;
//sum=gw*gw*gw+sw*sw*sw+bw*bw*bw;
sum=Math.pow(gw,3)+Math.pow(sw,3)+Math.pow(bw,3);//注:Math.pow(a,b)——这个是求a的b 次方
if(sum==x)//判断这个数是否符合水仙花规律
{
System.out.println(x);
count++;//用于统计水仙花的个数
}
}
System.out.println("水仙花的数共有:"+count);
//System.out.println(153/10);
}
}
|
|