Java 输出所有的三位水仙花数
题目:编程实现输出所有的水仙花数,所谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身。
例如: 153 = 1*1*1 + 3*3*3 + 5*5*5
输出格式要求:输出所有三位数水仙花数
输出样例:
153 370
分析
先求出每个数的百位、十位、个位的每位数字,然后把每位数字立方之和加起来,判断它是否等于这个三位数,如果等于则输出。
public class homework {
public static void main(String[] args) {
// 编程输出所有的三位水仙花数
narcissus();
}
public static void narcissus() {
int[] arr;
int a, b, c, n;
System.out.print("三位水仙花数水仙花数:");
for (int i = 100; i < 1000; i++) {
a = i / 100;
b = i / 10 % 10; // 或者 i% 100 / 10
c = i % 10;
n = a * a * a + b * b * b + c * c * c;
if (n == i) {
System.out.print(i + " ");
}
}
}
}
输出:
三位水仙花数水仙花数:153 370 371 407