编写java求1000之内的所有完数。
时间: 2024-09-25 11:14:05 浏览: 37
编写Java程序来找出1000以内的所有完数,可以按照以下步骤操作:
```java
public class CompleteNumberFinder {
public static void main(String[] args) {
for (int i = 1; i <= 1000; i++) {
if (isPerfectNumber(i)) {
System.out.println(i + " 是一个完数(完美数)");
}
}
}
// 定义函数检查是否为完数
public static boolean isPerfectNumber(int num) {
int sum = 1;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
sum += i;
if (i != num / i) { // 如果不是完全平方数,则还需加上除数
sum += num / i;
}
}
}
return sum == num && num > 1; // 只有当sum等于num且num大于1时,才为完数
}
}
```
在这个程序中,我们首先遍历从1到1000的所有整数,然后使用`isPerfectNumber`函数检查每个数是否是完数。如果一个数的因子(除了它自身)之和等于该数本身,那么这个数就是完数。
阅读全文