综合百科

Java如何求水仙花数

水仙花数:水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:370=33+73+00;371=33+73+13,370、371就是一个水仙花数

注意:要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位

普通for循环:

publicclassDaffodil{publicstaticvoidmain(String[]args){intcount=0;//定义水仙花数的个数for(inti=100;i<=10000;i++){//水仙花数范围intb=i/100;//取得百位数ints=(i-100*b)/10;//取得十位数intg=(i-s*10-b*100);//取得个位数if(i==g*g*g+s*s*s+b*b*b){//水仙花数判定System.out.print(i+"");//输出符合条件的数count++;}}System.out.println();//换行System.out.println("水仙花数总共有"+count+"个");//输出水仙花数的总数}}

while循环:

publicclassDaffodil{publicstaticvoidmain(Stringargs[]){inti=100;intcount=0;//定义水仙花数的个数while(i<10000){intb=i/100;//取得百位数ints=(i-100*b)/10;//取得十位数intg=(i-s*10-b*100);//取得个位数if(i==g*g*g+s*s*s+b*b*b){//水仙花数判定System.out.print(i+"");//输出符合条件的数count++;}i+=1;}System.out.println();System.out.println("水仙花数总共有"+count+"个");//输出水仙花数的总数}}

do-while循环:

publicclassDaffodil{publicstaticvoidmain(Stringargs[]){inti=100;intcount=0;//定义水仙花数的个数do{i+=1;intb=i/100;//取得百位数ints=(i-100*b)/10;//取得十位数intg=(i-s*10-b*100);//取得个位数if(i==g*g*g+s*s*s+b*b*b){//水仙花数判定System.out.print(i+"");//输出符合条件的数count++;}}while(i<10000);System.out.println();System.out.println("水仙花数总共有"+count+"个");//输出水仙花数的总数}}