/*
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和
等于该数本身。例如:153 是一个 "水仙花数 ",因为 153=1 的三次方+5 的三次方+3 的
三次方。
思路:1、三位数:100-999,可看出百位1-9,十位0-9,个位0-9.
2、那么就是先选百位x,再选十位y,在选个位z,三个for嵌套循环。
3、当temp=x*100+y*10+z*1,如果temp==x*x*x+y*y*y+z*z*z,就记下count++。
*/
class Test5
{
public static void main(String[] args)
{
System.out.println('\n'+"三位数中水仙花总数为:"+shuixianhua());
}
public static int shuixianhua()
{
int count=0;
int temp=0;
int temp1=0;
System.out.print("三位数中所有水仙花数有: ");
for (int x=1;x<=9 ;x++ )
{
for (int y=0;y<=9 ;y++ )
{
for (int z=0;z<=9 ;z++ )
{
temp=x*100+y*10+z;
temp1=x*x*x+y*y*y+z*z*z;
if (temp==temp1)
{
System.out.print(temp+" ");
count++;
}
}
}
}
return count;
}
}
我都是x*x*x 有没有简单点的,能够直接表达三次方的写法的。。。。。
|
|