完全数,又被称作完美数货完备数,是一些特色的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子数),恰好等于它本身。如果一个数恰好等于它的因子之和,则成为“完全数”
题目:找出1000以内的所有完数,并输出
1 from functools import reduce 2 for i in range(2,1001): 3 list1 = [] 4 for j in range(1,i): 5 if i%j == 0: 6 list1.append(j) 7 sumi = reduce(lambda a,b:a+b,list1) #真因子之和 8 if i == sumi: 9 print(i)
执行结果:
6,28,496