python3练习100题——019

╄→гoц情女王★ 提交于 2021-01-09 06:43:48

原题链接:http://www.runoob.com/python/python-exercise-example19.html

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

我的代码:

def fun():
    for num in range(1,1001):
        l=[1]      #1不传入循环,直接输出
        total=1    
        n=num
        for i in range(2,n):   #上限不能到n 
       
if n%i==0: l.append(i) total+=i if total==num: print("%d is a perfect number\n" %num) print(l)

思考:

题目分析题到了,这道题与014——分解质因数的题可以参考。但是实际还是有区别。

这次要的是一个数的所有因数,而不是质因数,所以只用一个循环从2到n-1找到所有的因数即可。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!