所以我在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)
Run Code Online (Sandbox Code Playgroud)
游戏机很慢,而且你不够耐心:
python your_program.py | wc -l
684886
Run Code Online (Sandbox Code Playgroud)
有更好的方法,使用全局计数器变量或返回一对(mincoins, counter).