python判断是否完数

图片[1]-python判断是否完数-uusu优素-乐高,模型,3d打印,编程

一个数如果恰好等于它的因子之和,这个数就称为“完数”。

判断一个数是否完数的代码如下:

#!/usr/bin/envpython
#coding:utf-8
deffactors(n):
#return[iforiinrange(1,n/2+1)ifn%i==0]
#如果仅仅是为了得到因数,可以用上面的
#如果是配合下面完全数,最好使用下面的。因为在下面少循环一次,1肯定是任何整数的因数
return[iforiinrange(2,n/2+1)ifn%i==0]
#找出某个数n以内的所有完全数,即在[1,n]内(含n)
defperfect(n):
#从上面的factors中得到的因数列表中,少1,因此在求因数和的时候,要把1加上。
return[iforiinrange(2,n+1)if(sum(factors(i))+1)==i]
if__name__=="__main__":
printperfect(1000)
printfactors(1000)
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容