所以我在python中递归地做最小的硬币更换问题。我想想象一下它正在进行多少次递归调用。所以我在我的函数中放了一个“print'递归'”。但现在它不断打印递归而没有达到输出,程序甚至没有停止。这是程序。
def min_coins(coins, change):
print 'recursion' #program works without this line
mincoins = change
if change in coins:
return 1
else:
for i in coins:
if i<=change:
numcoins = 1 + min_coins(coins, change-i)
if(numcoins < mincoins):
mincoins = numcoins
return mincoins
c = [1,5,25]
d = 50
print min_coins(c, d)
答案 0 :(得分:6)
游戏机很慢,你没有足够的耐心:
python your_program.py | wc -l
684886
有更好的方法,使用全局计数器变量或返回一对(mincoins, counter)
。