Python 求完全数

完全数(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)

猜你喜欢

转载自blog.csdn.net/weixin_44659084/article/details/103219198