水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。用java实现其实很简单,遍历所有的三位数,设百位数为i,i的取值范围是1-9,设十位数为j,j的取值范围是0-9,设个位数为n,n的取值范围是0-9。实现代码如下:
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 0; j < 10; j++) {
for (int n = 0; n < 10; n++) {
if (pow(i, 3) + pow(j, 3) + pow(n, 3) == 100 * i + 10 * j + n) {
System.out.print((100 * i + 10 * j + n) + " ");
}
}
}
}
}
执行结果: