求100-991之间的所有水仙花数java
时间: 2024-09-20 20:10:21 浏览: 37
在Java中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是一个简单的Java程序,用于找出100到991之间的所有水仙花数:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int lowerLimit = 100;
int upperLimit = 991;
for (int i = lowerLimit; i <= upperLimit; i++) {
if (isNarcissistic(i)) {
System.out.println(i);
}
}
}
// 判断是否为水仙花数的辅助函数
private static boolean isNarcissistic(int num) {
int sumOfDigits Cubed = 0;
String number = String.valueOf(num); // 转换为字符串以便处理每一位
for (char digit : number.toCharArray()) {
int digitValue = Character.getNumericValue(digit); // 获取字符对应的数值
sumOfDigits += Math.pow(digitValue, 3); // 累加每个位的三次方
}
return sumOfDigits == num; // 返回三个位数的立方和是否等于原数
}
}
```
在这个程序中,我们遍历了100到991之间的每一个整数,通过`isNarcissistic`方法检查它是否满足水仙花数的条件。
阅读全文