时间:2020-10-20 13:23:15 | 栏目:JAVA代码 | 点击:次
水仙花数:水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:370=33+73+00;371=33+73+13,370、371就是一个水仙花数
注意:要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位
public class MyTest { public static void main(String[] args) { /* 打印1-1000的水仙花数 水仙花数:例如 153=1*1*1+5*5*5+3*3*3*/ //定义标记,水仙花数起始值位0 int count =0; //要找出1000以内的水仙花数,先要遍历其每个数字;因为水仙花数是三位数所以从100开始 for (int i = 100; i < 1000; i++) { //取出个位 int g = i%10; //取出十位 int s = i/10%10; //取出百位 int b = i/100; //判断每个位上的立方和是否等于它自己,如果是则打印出该数字 if (g*g*g+s*s*s+b*b*b==i){ //如果是水仙花数,count加一 count++; System.out.println(i); } } System.out.println("1000以内水仙花数的个数:"+count); } }
输出结果:
153
370
371
407
1000以内水仙花数的个数:4