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; } }
更多内容请大家关注毛票票之前发布的文章。