一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
因数是指一个数a能够整除的数。只有数a本身不算。而质因数则也不包括1
for num in range(2,1000):
l = []
# 内圈循环负责找到num的所有因数,把他们放在l列表,然后判断因数相加(列表内数的和)是否等于num本身,是则输出
for i in range(1,num):
if(num%i==0):
l.append(i)
if(sum(l)==num):
print(num)
答案:
6
28
496