一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。编程,找出1000之内的所有完数,并输出该完数及对应的因子。(枚举法)
时间: 2023-11-11 12:00:24 浏览: 58
编程找出1000之内的所有完数,并按下面格式输出其因子:6 its factors are 1,2,3
5星 · 资源好评率100%
思路:枚举1到1000之间的每一个数,对于每一个数,枚举它的所有因子,将所有因子相加,如果和等于这个数本身,则这个数是完数,输出该完数及对应的因子。
代码如下:
```python
for i in range(1,1001):
sum = 0
factors = []
for j in range(1,i):
if i % j == 0:
sum += j
factors.append(j)
if sum == i:
print(i,factors)
```
输出结果:
```
6 [1, 2, 3]
28 [1, 2, 4, 7, 14]
496 [1, 2, 4, 8, 16, 31, 62, 124, 248]
```
阅读全文