采用for循环求1至1000之内的所有“完全数”。所谓“完全数”是指一个数,恰好等于它的因子之和。例如,6是一个完全数,因为6的因子为1、2、3,而6=1+2+3。
时间: 2024-09-08 12:02:55 浏览: 81
在Java中,我们可以使用for循环和嵌套循环来查找1到1000之间的所有完全数。下面是一个简单的实现示例:
```java
public class Main {
public static void main(String[] args) {
for (int num = 1; num <= 1000; num++) { // 遍历1到1000
int sum = 0; // 初始化因子和为0
for (int factor = 1; factor <= num / 2; factor++) { // 只检查到num的一半
if (num % factor == 0) { // 检查factor是否是num的因子
sum += factor; // 如果是,则将其加入因子和
}
}
// 判断当前数是否是完全数
if (sum == num && num != 1) { // 排除1,因为它不是完全数
System.out.println(num + " 是一个完全数(因子和为:" + sum + ")");
}
}
}
}
```
这段代码首先遍历1到1000的所有整数,然后对每个数,它检查所有小于等于该数一半的因数,如果某个因数乘以其自身等于原数,就将其添加到因子和中。最后,如果因子和等于原始数值,那么这个数就被认为是一个完全数。
阅读全文