题目:求指定区域内的完数(10000为例),及所有因子之和恰好等于本身,如:6=1+2+3.
思路:第一步,将所有因子追加到一个列表中,第二步,将符合条件的数字打出来。
代码:
#!/usr/bin/python3
l = [ ]
for n in range (1,10000):
for a in range (1,n):
if n%a ==0:
l.append(a)
if sum(l)==n:
print (l)
print (n)
l = []
结果:
>>>
[1, 2, 3]
6
[1, 2, 4, 7, 14]
28
[1, 2, 4, 8, 16, 31, 62, 124, 248]
496
[1, 2, 4, 8, 16, 32, 64, 127, 254, 508, 1016, 2032, 4064]
8128