java,求1000内的所有完数
时间: 2024-10-08 11:08:29 浏览: 33
Java找出1000以内的所有完数
5星 · 资源好评率100%
在Java中,一个完全数是指能够被其因子(除了自身以外的正整数)加起来等于本身的数。比如6是一个完全数,因为1+2+3=6。下面是一个简单的程序,用于找出1000范围内的所有完全数:
```java
public class PerfectNumbers {
public static void main(String[] args) {
for (int i = 2; i < 1000; i++) {
if (isPerfectNumber(i)) {
System.out.println(i + " is a perfect number.");
}
}
}
// 定义判断是否为完美数的方法
private static boolean isPerfectNumber(int num) {
int sum = 0;
for (int factor = 1; factor <= Math.sqrt(num); factor++) {
if (num % factor == 0) {
sum += factor;
if (factor != num / factor) { // 如果不是自身因子,则同时加入另一个因子
sum += num / factor;
}
}
}
return sum == num && num > 1; // 检查sum是否等于num且num大于1,防止1被误判
}
}
```
运行这个程序,你会看到小于1000的所有完美数。
阅读全文