我試圖記憶除數的和數。在Python中尋找值字典
divisorSums = {}
def sumDivisors(num):
global divisorSums
total = 0
if num == 1:
return 0
for i in xrange(num/2, 0, -1):
if i in divisorSums:
return divisorSums[i]
else:
if not num % i:
total += i
divisorSums[num] = total
return total
但是,當我遍歷數字時,對所有數字返回1。當它單獨使用時是正確的,所以問題是我的查找系統。我很確定我不明白如何在字典中查找價值。有人可以幫我嗎?
並不適用於所有數字,嘗試'100',它返回'117' – enginefree
當我通過1環到100,他們都回到1 ,其中包括100. – Tetramputechture
對於'98'我得到'73' – enginefree