python判断是否完数的方法-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

成都创新互联长期为超过千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为义县企业提供专业的成都网站设计、做网站,义县网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

这篇文章将为大家详细讲解有关python判断是否完数的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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

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

#!/usr/bin/env python
#coding:utf-8
def factors(n):
    #return [i for i in range(1,n/2+1) if n%i == 0]
    # 如果仅仅是为了得到因数,可以用上面的
    # 如果是配合下面完全数,最好使用下面的。因为在下面少循环一次,1肯定是任何整数的因数
    return [i for i in range(2,n/2+1) if n%i == 0]

#找出某个数n以内的所有完全数,即在[1,n]内(含n)
def perfect(n):
    #从上面的factors中得到的因数列表中,少1,因此在求因数和的时候,要把1加上。
    return [i for i in range(2,n+1) if (sum(factors(i))+1)==i]

if __name__=="__main__":
    print perfect(1000)
    print factors(1000)

关于python判断是否完数的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网页题目:python判断是否完数的方法-创新互联
文章网址:http://azwzsj.com/article/dccdsc.html