python判断是否是完数_python判断是否完数
一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱(chēng)為“完數(shù)”。
判斷一個(gè)數(shù)是否完數(shù)的代碼如下:#!/usr/bin/env python
#coding:utf-8
def factors(n):
#return [i for i in range(1,n/2+1) if n%i == 0]
# 如果僅僅是為了得到因數(shù),可以用上面的
# 如果是配合下面完全數(shù),最好使用下面的。因?yàn)樵谙旅嫔傺h(huán)一次,1肯定是任何整數(shù)的因數(shù)
return [i for i in range(2,n/2+1) if n%i == 0]
#找出某個(gè)數(shù)n以?xún)?nèi)的所有完全數(shù),即在[1,n]內(nèi)(含n)
def perfect(n):
#從上面的factors中得到的因數(shù)列表中,少1,因此在求因數(shù)和的時(shí)候,要把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知識(shí)請(qǐng)關(guān)注Python視頻教程欄目。
總結(jié)
以上是生活随笔為你收集整理的python判断是否是完数_python判断是否完数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java代码里的JSON格式怎么写好看_
- 下一篇: python温度转换程序_用Python