用java编程1000之内所有的完数
时间: 2024-12-02 08:21:12 浏览: 10
在Java编程中,完数是指一个大于1的自然数,它等于其所有正因数(包括1和自身)之和。例如,6是一个完数,因为1+2+3=6。以下是一个简单的Java程序,用于找出1000以内所有的完数:
```java
public class PerfectNumbers {
public static void main(String[] args) {
int limit = 1000;
for (int i = 2; i < limit; i++) {
if (isPerfectNumber(i)) {
System.out.println(i + " 是一个完数");
}
}
}
// 判断是否是完数的辅助函数
public static boolean isPerfectNumber(int number) {
int sum = 1;
for (int factor = 2; factor * factor <= number; factor++) {
if (number % factor == 0) {
sum += factor;
if (factor != number / factor) { // 如果因子不是最大的,再加一次它的倒数
sum += number / factor;
}
}
}
return sum == number && number > 1;
}
}
```
这个程序会打印出1000以内所有的完数。运行后,你会看到像这样的输出:6、28、496 和 8128 等。
阅读全文