python3 练习题100例 (二十四)打印完数

完数:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如 6 = 1+2+3。

题目内容:

输入一个正整数n(n<1000),输出1到n之间的所有完数(包括n)。

输入格式:

共一行,为一个正整数。

输出格式:

若干行,从小到大输出完数,一行为一个数。

输入样例:

30

输出样例:

6

28

时间限制:500ms内存限制:32000kb


a = int(input())


def fun(number):
    yinzi = []
    for m in range(2, number//2 + 1):
        if number % m == 0:
            yinzi.append(m)
        else:
            continue
    return yinzi


for i in range(5, a+1):
    n = fun(i)
    if sum(n)+1 == i:
        print(i)

猜你喜欢

转载自blog.csdn.net/daxia5398/article/details/86063234