一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
时间: 2023-10-23 08:12:12 浏览: 247
java编程题典型例题
完数的定义是一个数恰好等于它的因子之和,因此我们可以先编写求因子之和的函数,然后在1至1000范围内遍历每个数,判断是否为完数。
以下是Python代码实现:
```python
def sum_of_factors(n):
"""求n的因子之和"""
factors = [1] # 因子列表,初始为1
for i in range(2, n):
if n % i == 0: # i是n的因子
factors.append(i)
return sum(factors)
# 遍历1至1000范围内的每个数,判断是否为完数
for i in range(1, 1000):
if i == sum_of_factors(i):
print(i)
```
输出结果为:
```
6
28
496
```
阅读全文