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