要求:在控制台输出所有的“水仙花数”,水仙花数是指一种三位数,其个位、十位、百位的数字立方和等于原数。水仙花数共有4个,分别为153、370、371、407。
分析:
1、定义一个for循环从100-999。
2、每次访问到该数据后,提取该数据的个位、十位、百位的数字。
3、使用if语句判断:其个位、十位、百位的数字立方和是否等于原数,等于则输出该数。
package Demo;
public class NarcissisticNumber {
public static void main(String[] args) {
//定义一个for循环从100-999。
for(int i = 100; i < 999;i++){
int units = i % 10;//取出个位
int tens = i / 10 % 10;//取出十位
int hundreds = i / 100;//取出百位
//判断立方和是否等于原数
if(units*units*units + tens*tens*tens + hundreds*hundreds*hundreds == i){
System.out.print(i + "t");
}
}
}
}
运行结果如下



