java判断n是否完数。完数是指一个数等于其因子之和。
时间: 2024-09-17 20:06:59 浏览: 65
在Java中,我们可以编写一个方法来判断一个数n是否是完数。下面是一个简单的示例,这个函数会检查从1到sqrt(n)的所有整数,看它们是否都是n的因子,并且将这些因子加起来:
```java
import java.util.ArrayList;
import java.util.List;
public class PerfectNumber {
public static boolean isPerfect(int n) {
if (n <= 1) {
return false; // 完数大于1
}
int sum = 0;
for (int i = 1; i * i <= n; i++) { // 只需检查i * i <= n的情况
if (n % i == 0) {
// 如果n能被i整除,那么i和n/i都是因子
sum += i;
if (i != n / i) { // 如果不是n本身的平方,则加上另一个因子n/i
sum += n / i;
}
}
}
return sum == n; // 如果sum等于n,说明n是完数
}
public static void main(String[] args) {
int number = 6; // 测试数字
System.out.println(isPerfect(number) ? "是" : "否"); // 输出:是
}
}
```
阅读全文