找出1000以内的完数

如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。请按照从小到大的顺序输出 1000 以内的完全数,并用"逗号"分隔输出结果

1 def demo():

2 result = []

3 for i in range(1, 1000):

4 sum = 0

5 for j in range(1, i):

6 if i % j == 0:

7 sum += j

8 if sum == i:

9 result.append(str(i))

10 return ",".join(result)

11

12 print("1000以内的完全数有:{}".format(demo()))