题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出指定范围内的所有完数。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

from sys import stdout

start=2
end=28

for j in range(start, end+1):
    k = []
    n = -1
    s = j
    for i in range(1, j):
        if j % i == 0:
            n += 1
            s -= i
            k.append(i)

    if s == 0:
        print(j,end=" = ")
        for i in range(n):
            stdout.write(str(k[i]))
            stdout.write(' + ')
        print(k[n])

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐