Java打印出所有的水仙花数的实现代码
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
程序设计:
publicclassexp2{
publicstaticvoidmain(Stringargs[]){
inti=0;
mathmymath=newmath();
for(i=100;i<=999;i++)
if(mymath.shuixianhua(i)==true)
System.out.println(i);
}
}
classmath
{
publicintf(intx)
{
if(x==1||x==2)
return1;
else
returnf(x-1)+f(x-2);
}
publicbooleaniszhishu(intx)
{
for(inti=2;i<=x/2;i++)
if(x%2==0)
returnfalse;
returntrue;
}
publicbooleanshuixianhua(intx)
{
inti=0,j=0,k=0;
i=x/100;
j=(x%100)/10;
k=x%10;
if(x==i*i*i+j*j*j+k*k*k)
returntrue;
else
returnfalse;
}
}
更多内容请大家关注毛票票之前发布的文章。