输出某个范围内的所有完美数Java
时间: 2024-10-19 18:13:35 浏览: 13
完美数是指一个正整数的所有真因数(除了自身以外的因子)之和等于它自身的数。例如,6是一个完美数,因为1 + 2 + 3 = 6。
在Java中,我们可以编写一个简单的函数来找出并打印指定范围内所有的完美数。这里提供一个简单的示例:
```java
public class PerfectNumbers {
public static void main(String[] args) {
int start = 1; // 范围开始,可以根据需要调整
int end = 100; // 范围结束
for (int i = start; i <= end; i++) {
if (isPerfectNumber(i)) {
System.out.println(i + " 是一个完美数");
}
}
}
// 判断是否为完美数的辅助函数
private static boolean isPerfectNumber(int num) {
int sum = 1;
for (int j = 2; j * j <= num; j++) {
if (num % j == 0) {
sum += j;
if (j != num / j) { // 如果不是完全平方数,则还有另一个因子
sum += num / j;
}
}
}
return sum == num && num > 1; // 验证和是否等于数本身,并排除1这个特例
}
}
```
在这个例子中,`isPerfectNumber`函数检查给定的数字`num`是否满足完美数条件。主函数会遍历指定范围内的每个数字,如果发现是完美数就打印出来。
阅读全文