求1000以內(nèi)的完全數(shù)有哪些
如果一個數(shù)恰好等于它的因子之和,則稱該數(shù)為“完全數(shù)”,又稱完美數(shù)或完備數(shù)。
例如:第一個完全數(shù)是6,它有約數(shù)1、2、3、6,除去它本身6外,其余3個數(shù)相加,1+2+3=6。第二個完全數(shù)是28,它有約數(shù)1、2、4、7、14、28,除去它本身28外,其余5個數(shù)相加,1+2+4+7+14=28。
沒有什么高端的思路,想到的就是遍歷
def perfect_number(n):
for i in range(1, n+1):
k = 0
for j in range(1, i):
if i % j == 0:
k += j
if k == i:
print(i)
if __name__ == '__main__':
perfect_number(1000)
自己寫完后在PyCharm上run了半天都不對,怎么也檢查不出錯誤,后來發(fā)現(xiàn)run的是昨天的題目,被自己蠢哭了。還是要多寫多練。