求出10000以內所有的完全數-python


題目:

如何用python去求出下一個(大於28的)完全數?

(求出10000以內所有的完全數)

分析:

如果一個數恰好等於它的因子之和,則稱該數為"完全數".各個小於它的約數(真約數,列出某數的約數,去掉該數本身,剩下的就是它的真約數)的和等於它本身的自然數叫做完全數,又稱完美書或完備數.

1.第一個完全數是6,它有約數1,2,3,6,除去它本身6外,其余3個數相加為:1+2+3=6

2.第二個完全數是28,它有約數1,2,4,7,14,28,除去它本身28外,其余5個數相加為:1+2+4+7+14=28

題解:

def numbers(number):
sum=0
d=list()
for i in range(1,number):#range(1,6)
if number%i==0:
d.append(i)
else:
continue
for i in d:
sum+=i
if sum==number:
print(number)

for i in range(6,10001):
numbers(i)

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM