题目:输入一个正整数n(n<1000),输出1到n之间的所有完数(包括n)。
输入格式:
共一行,为一个正整数。
输出格式:
若干行,从小到大输出完数,一行为一个数。
输入样例:
30
输出样例:
6
28
代码:
n = int(input('请输入:'))
from functools import reduce
for m in range(2, n):
L = [1]
for n in range(2, int(m / 2) + 1):
if m % n == 0:
L.append(n)
if m == reduce(lambda x, y: x + y, L):
print(m)
输出结果:
--------------------------------------------------------------------------------
请输入:30
6
28
--------------------------------------------------------------------------------