java程序编写完美数
时间: 2024-10-15 15:15:58 浏览: 2
完美数是指它的所有正因数(包括1和它本身)之和等于该数本身的自然数。例如,6是一个完美数,因为1 + 2 + 3 = 6。在Java中编写一个函数来判断一个给定的整数是否是完美数,你可以采用如下的步骤:
```java
public class PerfectNumber {
public static boolean isPerfect(int num) {
int sum = 0;
for (int i = 1; i <= Math.sqrt(num); i++) { // 只需要检查到num的一半,因为大于sqrt(n)的因子会有一个对应的小于sqrt(n)的因子
if (num % i == 0) {
if (i != num / i) { // 如果是偶数因子,则包含两个相等的部分(i 和 num/i)
sum += i + num / i;
} else { // 如果是奇数因子,则仅加一次
sum += i;
}
}
}
return sum == num && num > 1; // 返回sum是否等于num且num大于1,因为1不是完美数
}
public static void main(String[] args) {
int numberToCheck = 28; // 测试数字
System.out.println(numberToCheck + " is perfect? " + isPerfect(numberToCheck));
}
}
```