題目:
如何用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)