您的位置:首页 > 其它

完数

2014-01-17 22:22 232 查看
题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
    找出10000以内的所有完数。

代码:

def func(a):
b=[]
for i in range(1,int(a/2)+1):
if a%i==0:
b.append(i)
sum=0
for i in range(len(b)):
sum=sum+b[i]
if(sum==a):
print(a)
print(b)
if __name__ == "__main__":
for i in range(1,10000):
func(i)


运行结果:

6
[1, 2, 3]
28
[1, 2, 4, 7, 14]
496
[1, 2, 4, 8, 16, 31, 62, 124, 248]
8128
[1, 2, 4, 8, 16, 32, 64, 127, 254, 508, 1016, 2032, 4064]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: