完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。
for n in range(2,1000):
sum=0
for i in range(1,n):
if n%i==0:
sum=sum+i
if sum==n:
print(n)
import math
for n in range(2,1000):
factors=[]
#math.floor 向下取整
for i in range(1,math.floor(n/2)+1):
if n%i==0:
factors.append(i)
if sum(factors)==n:
print(factors)
print(n)