题目要求输出1000以内的全部“完数”,要求每行输出5个,并统计完数的个数。一个数如果恰好等于它的因子之和,则称该数为“完数”。
时间: 2023-07-16 15:14:59 浏览: 130
下面是Python的代码实现:
```python
def is_perfect_number(num):
divisors = []
for i in range(1, num):
if num % i == 0:
divisors.append(i)
return sum(divisors) == num
count = 0
for i in range(1, 1001):
if is_perfect_number(i):
print(i, end=' ')
count += 1
if count % 5 == 0:
print()
print("\n完数个数:", count)
```
输出结果为:
```
6 28 496
完数个数: 3
```
其中,`is_perfect_number(num)`函数用于判断一个数是否为完数,`count`变量用于记录完数的个数。循环遍历1~1000之间的数,如果是完数则输出并将`count`加1,每输出5个数就换行一次。最后输出完数的个数。
阅读全文