Java写出1到1000所有的水花仙数
时间: 2024-09-20 08:10:14 浏览: 6
水花仙数(Waterfall Number),也称为幸福数,是指一个正整数,其各位数字之和等于其平方根的小数点后每一位都为0的情况。例如,125(1^2 + 2^2 + 5^2 = 34,而√34 ≈ 5.83)就是一个水花仙数。
在Java中,我们可以编写一个函数来检查并打印1到1000范围内的所有水花仙数。以下是简化版的代码:
```java
import java.util.ArrayList;
import java.util.List;
public class WaterfallNumberFinder {
public static List<Integer> findWaterfallNumbers(int limit) {
List<Integer> result = new ArrayList<>();
for (int num = 1; num <= limit; num++) {
int sum = 0;
String numStr = num.toString();
for (char digit : numStr.toCharArray()) {
sum += Character.getNumericValue(digit);
}
if (Math.pow(sum, 2).equals(Double.parseDouble(numStr))) {
result.add(num);
}
}
return result;
}
public static void main(String[] args) {
List<Integer> waterfallNumbers = findWaterfallNumbers(1000);
for (int number : waterfallNumbers) {
System.out.println(number);
}
}
}