寻找1000以内的完数,1除外,我的思路是先把一个数所有的因数找出来,把它们存放到一个其余元素都是0的列表里,然后把列表的所有元素都加起来,如果等于这个数就说明它是完数
a=2
b=0
list=[0]*1001
while a<=1000:
b=0
n=1
while n<=a:
if a%n==0:
list[n] = n
n += 1
continue
n+=1
for x in list:
b+=x
if(a==b):
print(a)
a+=1
list.clear()
list = [0] * 1001
for i in range(1, 1000):
sum = 0
for j in range(1, i):
if i % j == 0: # 计算因数
sum += j # 计算因数的总和
if sum == i: # 完数的定义:它所有的真因子的和,恰好等于它本身。
print(i)