java 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1 3 +5 3 +3 3 。 本题要求编写程序,计算所有N位水仙花数
时间: 2023-11-16 11:06:12 浏览: 85
以下是Java计算所有N位水仙花数的程序:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int n = 3; // N位数
int start = (int) Math.pow(10, n - 1); // 起始数
int end = (int) Math.pow(10, n) - 1; // 结束数
for (int i = start; i <= end; 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);
}
}
}
}
```
程序中,我们首先定义了N位数的位数n,然后计算出起始数和结束数。接着,我们使用for循环遍历所有的N位数,对于每个数,我们使用while循环计算它的每个位上的数字的N次幂之和,如果和等于这个数本身,就输出这个数。
阅读全文