py写一个1000以内所有完数
时间: 2024-06-13 07:07:22 浏览: 46
以下是Python代码,用于找出1000以内的所有完数:
```python
from functools import reduce
def sum(a, b):
return a + b
for i in range(2, 1001):
l = [1]
for j in range(2, int(i / 2 + 1)):
if i % j == 0:
l.append(j)
if i == reduce(sum, l):
print("完数为:", i)
print("它的因子为:", l)
```
输出结果为:
```
完数为: 6
它的因子为: [1, 2, 3]
完数为: 28
它的因子为: [1, 2, 4, 7, 14]
完数为: 496
它的因子为: [1, 2, 4, 8, 16, 31, 62, 124, 248]
```
阅读全文