Java计算水仙花数
时间: 2024-06-16 09:03:56 浏览: 104
水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。在Java中,可以通过以下代码计算水仙花数:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int start = 100;
int end = 999;
for (int i = start; i <= end; i++) {
if (isNarcissisticNumber(i)) {
System.out.println(i);
}
}
}
public static boolean isNarcissisticNumber(int number) {
int originalNumber = number;
int sum = 0;
int digits = String.valueOf(number).length();
while (number > 0) {
int digit = number % 10;
sum += Math.pow(digit, digits);
number /= 10;
}
return sum == originalNumber;
}
}
```
上述代码中,我们从100到999遍历每个数,然后调用`isNarcissisticNumber`方法判断是否为水仙花数。`isNarcissisticNumber`方法首先保存原始数字,然后计算每个位上数字的n次幂之和,最后与原始数字比较是否相等。如果相等,则说明是水仙花数。
阅读全文