完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
题目:求指定区域内的完数(1000为例),及所有因子之和恰好等于本身,如:6=1+2+3.
逻辑解析:
# 思路:第一步,将所有因子追加到一个列表中,第二步,将符合条件的数字追加另一个列表中。
代码:
def perNum(n):
per_Num =[]
for Num in range(1, n):
l = []
for j in range(1, Num):
if Num % j == 0:
l.append(j)
if sum(l) == Num:
# print(l)
# print(Num)
per_Num.append(Num)
return per_Num
print("范围内所有完数为:", perNum(1000))
结果:
范围内所有完数为: [6, 28, 496]
Process finished with exit code 0