python-打印完数

    科技2024-09-29  15

     

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

     

    (python学习资料领取,编程交流学习,群号 467604262 )

    题目内容:

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

     

    输入格式:

    共一行,为一个正整数。

     

    输出格式:

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

     

    输入样例:

    30

     

    输出样例:

    6

    28

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

    程序1:

     

    num = int(input())

    for i in range(1,num):

    list = []

    for j in range(1,i):

    if i % j == 0:

    list.append(j)

    sum_list = sum(list)

    if sum_list == i:

    print(i)

    程序2:

     

    def f(n):

    list = []

    for i in range(2, n + 1):

    for j in range(2, int(i / 2)):

    if i % j == 0 and j <= (i / j):

    list.append(j)

    list.append(i / j)

    if sum(list) + 1 == i:

    print(i)

    list = []

    n = int(input())

    f(n)

     

    Processed: 0.013, SQL: 8