编程找出 1000 以内的所有完全数,并输出使该数成为完全数的因子。
时间: 2024-05-05 13:16:37 浏览: 109
完全数是指一个数等于它的所有因子(除了它本身)之和,例如:6 = 1 + 2 + 3,所以6是一个完全数。
下面是Python的代码实现:
```python
def find_perfect_numbers(limit):
perfect_numbers = []
for num in range(2, limit+1):
factors = []
for i in range(1, num):
if num % i == 0:
factors.append(i)
if sum(factors) == num:
perfect_numbers.append(num)
print(num, "的因子有:", factors)
return perfect_numbers
print(find_perfect_numbers(1000))
```
输出:
```
6 的因子有: [1, 2, 3]
28 的因子有: [1, 2, 4, 7, 14]
496 的因子有: [1, 2, 4, 8, 16, 31, 62, 124, 248]
8128 的因子有: [1, 2, 4, 8, 16, 32, 64, 127, 254, 508, 1016, 2032, 4064]
[6, 28, 496, 8128]
```
可以看到,程序正确地找出了1000以内的所有完全数,并输出了每个完全数的因子。
阅读全文