用python写一个计算完全数的程序
时间: 2023-09-14 17:15:51 浏览: 49
好的,以下是一个计算完全数的 Python 程序:
```python
def is_perfect(n):
"""
判断一个数是否为完全数
"""
factors = []
for i in range(1, n):
if n % i == 0:
factors.append(i)
return sum(factors) == n
def perfect_numbers(limit):
"""
计算小于等于 limit 的所有完全数
"""
result = []
for i in range(1, limit+1):
if is_perfect(i):
result.append(i)
return result
print(perfect_numbers(10000))
```
首先,我们定义了一个函数 `is_perfect(n)`,用于判断一个数是否为完全数。这个函数通过循环判断 n 的因子,并将其加入到一个列表中。最后,如果所有因子之和等于 n,则说明 n 是完全数。
然后,我们定义了一个函数 `perfect_numbers(limit)`,用于计算小于等于 limit 的所有完全数。这个函数通过循环调用 `is_perfect(n)`,来判断每一个数是否为完全数。如果是完全数,则将其加入到一个列表中,并最终返回这个列表。
最后,我们调用 `perfect_numbers(10000)` 来计算小于等于 10000 的所有完全数,并将结果打印出来。
希望能够帮到你!