题目:
如何用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)
时间: 2024-08-24 11:05:59