Reputation: 57
So I am doing minimum coin change problem recursively in python. I wanted to visualize how many recursive calls it's making. So I put a "print 'recursion'" in my function. But now it's continuously print recursion and not reaching output and program is not even stopping. Here is the program.
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)
Upvotes: 0
Views: 67
Reputation: 96258
Consoles are quite slow, and you weren't patient enough:
python your_program.py | wc -l
684886
There are better ways, use a global counter variable or return a pair of (mincoins, counter)
.
Upvotes: 6