import time
defrecDC(coinValueList,change,knownResults):
minCoins=change
if change in coinValueList:#遞歸基本結束條件
knownResults[change]=1#記錄最優解return1elif knownResults[change]>0:return knownResults[change]#查表成功,直接用最優解else:for i in[c for c in coinValueList if c<= change]:
numCoins=1+recDC(coinValueList,change-i,knownResults)if numCoins<minCoins:
minCoins=numCoins #找到最優解,記錄到表中
knownResults[change]=minCoins
return minCoins
print(time.clock())print(recDC([1,5,10,25],63,[0]*64))print(time.clock())