一个数如果恰好等于它的因子之和,这个数就称为“完数”。编程找出1000以内的所有完数。用Java实现
时间: 2024-10-13 11:17:37 浏览: 43
要编写一个Java程序来找出1000以内的所有完数(也被称为完美数),我们可以遍历这个范围内的每个数,计算其因子之和,然后检查是否等于该数本身。以下是简单的Java代码实现:
```java
public class PerfectNumbers {
public static void main(String[] args) {
for (int i = 2; i <= 1000; i++) {
if (isPerfect(i)) {
System.out.println("Number " + i + " is a perfect number.");
}
}
}
// Function to check if a number is perfect by summing its factors
public static boolean isPerfect(int num) {
int sum = 0;
for (int j = 1; j < num; j++) {
if (num % j == 0) {
sum += j;
}
}
return sum == num && num != 1; // Perfect numbers exclude 1, which is not considered a factor
}
}
```
在这个代码中,`isPerfect()` 函数接受一个整数 `num`,计算它的所有因子(除了它自己),并将这些因子相加。如果相加的结果正好等于 `num`,并且 `num` 不等于1(因为1不是任何数的因子),那么 `num` 就是一个完数。
运行这段代码,你会看到1000以内所有的完数。
阅读全文