水仙花数java
时间: 2023-09-24 18:02:52 浏览: 110
21位水仙花数算法
水仙花数是指一个n位正整数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如:153=1³+5³+3³。
下面是一个 Java 代码示例:
```
public class NarcissisticNumber {
public static void main(String[] args) {
int n = 3; // n位数
for (int i = 1; i < Math.pow(10, n); i++) {
int sum = 0;
int temp = i;
while (temp > 0) {
int digit = temp % 10;
sum += Math.pow(digit, n);
temp /= 10;
}
if (sum == i) {
System.out.println(i);
}
}
}
}
```
代码中,我们通过循环枚举从 1 到 10^n-1 的所有 n 位正整数,然后计算每个数的每个位数的 n 次幂之和,如果和等于该数本身,则输出该数。
阅读全文