java一千以内的完全数
时间: 2023-11-12 13:48:48 浏览: 94
完全数是一些特殊的自然数,其所有的真因子(即除了自身以外的约数)的和恰好等于它本身。要求在Java中找出1到1000的所有完全数,可以使用以下代码:
```java
public class PerfectNumber {
public static void main(String[] args) {
for (int number = 2; number <= 1000; number++) {
int sum = 1;
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
sum += i;
if (i != number / i) {
sum += number / i;
}
}
}
if (sum == number) {
System.out.println(number + " 是完全数。");
}
}
}
}
```
这段代码使用两个嵌套的循环来遍历1到1000之间的每个数,并计算其所有因子的和。如果和等于该数本身,则将其输出。该代码利用取余操作来求一个数的约数,如果`number % i == 0`,则`i`是`number`的一个约数。为了提高效率,循环的上限设置为`Math.sqrt(number)`。
回答完问题后,我还有几个
阅读全文