一、需求
在控制台输出所有的“水仙花数”,水仙花数必须满足如下2个要求:
1.水仙花数是一个三位数
2.水仙花数的个位、十位、百位的数字立方和等于原数
二、分析
1.定义一个for循环从“100一直到999”
2.每次访问到数据后,提取该数据的:个位、十位、百位数字。使用if判断:个位、十位、 百位的数字立方和是否等于原数,等于则输出该数据
public class ForDemo {
public static void main(String[] args) {
//水仙花
//定义一个变量记录水仙花的个数
int count = 0;
//水仙花是三位数 100~999
for (int i = 100; i <= 999; i++) {
//获取水仙花的个十百位上的数据
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100 % 10;
//判断个十百位上的数据的立方和是否等于原数
if ((ge*ge*ge + shi*shi*shi +bai*bai*bai) == i){
System.out.println(i);
count ++;
}
}
System.out.println("水仙花的数量是"+ count + "个");
}
}
三、执行效果
153
370
371
407
水仙花的数量是4个