python基礎編程題目20

題目:一個數如果恰好等於它的因子之和,這個數就稱爲"完數"。例如6=1+2+3.編程找出1000以內的所有完數。

#_*_ coding:utf-8 _*_
def p(x):
    l = []
    i = 1
    while i <= x/2:
        if x % i == 0:
            l.append(i)
        i += 1
    if sum(l) == x:
        return x
    return 0
if __name__ == '__main__':
    i = 1
    for i in range(1, 101):
        f = p(i)
        if f != 0:
            print(i, end = ' ')
        i += 1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章