一个自然数的所有因子(不包括自身)之和等于该数,则这个数被称为完数。编写一个函数iscomplete,能够判断一个数是否为完数并返回逻辑值。此外对1000以内的数调用该函数,将所有完数构成一个列表输出
def iscomplete(a):
sum0=0
for i in range(a):
sum0+=i
if sum0==a:
print('该数是一个完数')
return a
list0=[]
for j in range(1,1000):
b=iscomplete(j)
if b:
list0.append(b)
print(list0)
def isComplete(n):
sum = 0
for i in range(1, int(n / 2 + 1)):
if n % i == 0:
sum += i
return n == sum
print([i for i in range(1, 1001) if isComplete(i)])