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)

 

posted on 2019-01-08 10:24  daxia5398  阅读(962)  评论(0编辑  收藏  举报

导航