求1000以内的完数。

"""
一个数如果恰好等于它的因子之和,这个数就称为完数。
例如 6=1+2+3.编程找出1000以内的所有完数。
"""
for i in range(1,1001):
    m=0 #因子和为m
    for j in range(1,i//2+1):  #因子最大为原数一半
        if i%j==0:   #如果j是i的因子,就将j加进m
            m=m+j
    if m==i:  #如果因子和恰好等于i,则i就是完数
        print(i)

 

posted @ 2024-04-22 10:42  yanglike111  阅读(20)  评论(0)    收藏  举报