编写一个方法(isPerfect),判断一个正整数n是否是完全数;完全数是指:所 有因子(包括1,不包括本身)的和等于该数本身。然后在main方法中调用该方法输 出100以内所有完全数。
时间: 2024-02-13 17:05:57 浏览: 49
以下是判断完全数的方法 `isPerfect` 的Java代码实现:
```java
public static boolean isPerfect(int n) {
int sum = 1; // 因为1是任何一个正整数的因子,所以sum初始值为1
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
sum += i;
if (i != n / i) {
sum += n / i;
}
}
}
return sum == n;
}
```
在上面的代码中,先设置初始值 `sum` 为1,然后使用循环计算出正整数 `n` 的所有因子,并将它们的和累加到 `sum` 中。最后,判断 `sum` 是否等于 `n`,如果相等,则说明 `n` 是完全数,返回 `true`,否则返回 `false`。
接下来,在 `main` 方法中调用 `isPerfect` 方法来输出100以内所有完全数的代码如下:
```java
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
if (isPerfect(i)) {
System.out.println(i);
}
}
}
```
在上面的代码中,使用循环从1到100遍历所有正整数,调用 `isPerfect` 方法判断每个数是否为完全数,如果是,则输出该数。