【问题描述】一个整数与其因子之和相等,则这个数称为"完数"。例如6=1+2+3。编程找出1000以内的所有完数。要求使用函数编程。
【输入形式】无
【输出形式】每行显示1个,分多行显示
【样例输入】无
【样例输出】
6
28
496
def number(n):
b=0
for i in range (1,n):
if n%i==0:
b+=i
return b
for j in range (2,1001):
if j==number(j):
print(j)
def number(n):
factors = [x for x in range(1, n) if n % x == 0]
return sum(factors) == n
numbers = filter(number, range(1, 1000))
for num in numbers:
print(num)