题目
找出 100~999 之间的水仙花数
思路
本题在 100~999 中找水仙花数:各位数字立方和等于它本身。 对每个三位数,用 /100、/10%10、%10 取出百、十、个位 a,b,c,判断 a³+b³+c³ 是否等于原数,相等则输出。
解题分析
三位数enum 100~999,拆百十个位算立方和。剪枝:若只判断单个数,直接算;若找全部,暴力扫描范围即可。
完整程序
import java.io.*;
public class Main {
public static void main(String[] args) {
for (int n = 100; n <= 999; n++) {
int a = n / 100, b = n / 10 % 10, c = n % 10;
if (a*a*a + b*b*b + c*c*c == n) System.out.println(n);
}
}
}
运行示例
输出:
153
370
371
407