题目概要
水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,例如:1^3+5^3+3^3=153。
需求分析
首先使用for循环定义一个三位数(只有100-999是三位数),所以这个的范围就是100-999。
然后分别取到个位 十位 百位数上的值
然后利用加号作为连接符取到这个三位数
输出
代码
package Shuixianhua;
public class A1 {
public static void main(String[] args) {
int a = 0; //定义一个计数器
for (int i = 100;i < 1000;i++){
int ge = i % 10; //取到个位数上的值
int shi = i / 10 % 10; //取到十位数上的值
int bai = i /100; //取到百位数上的值
if (ge*ge*ge+shi*shi*shi+bai*bai*bai==i) { //此处加号是连接符
System.out.println(i);
a++;
}
}
System.out.println("共有" + a +"个水仙花数");
}
}
运行结果
153
370
371
407
共有4个水仙花数