利用Java方法调用判断一个数是否为完数
时间: 2024-10-08 19:03:58 浏览: 33
在Java中,我们可以创建一个方法来判断一个数是否为完数。完数是指一个正整数的所有真因数(除了它本身外的因子)之和等于该数自身的总和。下面是一个简单的例子:
```java
public class PrimeNumbers {
public static boolean isPerfectNumber(int num) {
// 检查如果num小于2,它既不是质数也不是完数
if (num < 2) {
return false;
}
int sum = 1; // 包含1作为所有数的公共因子
// 循环检查从2到num-1的所有整数,看它们是否是num的因子
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) { // 如果i是因子
sum += i; // 将因子加入求和
// 需要同时检查num/i是否也是因子,如果是则添加一次
if (i != num / i) {
sum += num / i;
}
}
}
// 如果求和等于原数,那么它是完数
return sum == num;
}
public static void main(String[] args) {
System.out.println(isPerfectNumber(6)); // 输出:true,因为6的因数有1, 2, 3,它们的和正好是6
System.out.println(isPerfectNumber(28)); // 输出:true,因为28的因数有1, 2, 4, 7, 14,它们的和等于28
System.out.println(isPerfectNumber(29)); // 输出:false,因为29没有除它自身以外的因数
}
}
```
阅读全文