首页 > 编程语言 > 详细

python3练习100题——019

时间:2018-06-06 13:30:43      阅读:190      评论:0      收藏:0      [点我收藏+]

原题链接: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找到所有的因数即可。

python3练习100题——019

原文:https://www.cnblogs.com/drifter/p/9144562.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!