Ï«Ï ----jGRASP exec: java ChangeMakerDriver
ÏϧÏ
ÏÏ§Ï in change for 1 time: amount = 4
ÏÏ§Ï i = 0
ÏÏ§Ï i = 1
ÏÏ§Ï i = 2
ÏÏ§Ï j
= 1
ÏÏ§Ï in change for 2 time: amount = 1
ÏÏ§Ï i = 0
ÏÏ§Ï in change for 3 time: amount = 3
ÏÏ§Ï i = 0
ÏÏ§Ï i = 1
ÏÏ§Ï i = 2
ÏÏ§Ï j
= 1
ÏÏ§Ï in change for 4 time: amount = 1
ÏÏ§Ï i = 0
ÏÏ§Ï in change for 5 time: amount = 2
ÏÏ§Ï i = 0
ÏÏ§Ï i = 1
ÏÏ§Ï i = 2
ÏÏ§Ï j
= 1
ÏÏ§Ï in change for 6 time: amount = 1
ÏÏ§Ï i = 0
ÏÏ§Ï in change for 7 time: amount = 1
ÏÏ§Ï i = 0
ÏÏ§Ï j
= 2
ÏÏ§Ï in change for 8 time: amount = 2
ÏÏ§Ï i = 0
ÏÏ§Ï i = 1
ÏÏ§Ï i = 2
ÏÏ§Ï j = 1
ÏÏ§Ï in change for 9 time: amount = 1
ÏÏ§Ï i = 0
ÏÏ§Ï in change for 10 time: amount = 1
ÏÏ§Ï i = 0
ÏÏ§Ï in change for 11 time: amount = 2
ÏÏ§Ï i = 0
ÏÏ§Ï i = 1
ÏÏ§Ï i = 2
ÏÏ§Ï j
= 1
ÏÏ§Ï in change for 12 time: amount = 1
ÏÏ§Ï i = 0
ÏÏ§Ï in change for 13 time: amount = 1
ÏÏ§Ï i = 0
ÏÏ§Ï number coins needed is 4
ÏϧÏnumber of times change called is 13
ÏϧÏ
ÏÏ©Ï ----jGRASP: operation complete.
¼¼
coins
= {1,5,8}
amount
= 4
change
({1,5,8}, 4) //
initial call
amount 4
min 4
coins.length 3
i = 0 1 2
amount/2 2
j = 1 ... 2
1
number = change ({1,5,8},
1) + change ({1,5,8}, 3) // subsequent
calls
change ({1,5,8},
1) // second
call
amount 1
min 1
coins.length 3
i = 0
coins[0] = 1 so return 1
change ({ 1,5,8}, 3) // third
call
amount 3
min 4
coins.length 3
i = 0 1 2
amount /2 1
j = 1
1
number = change
({1,5,8}, 1) + change ({1,5,8}, 2) //subsequent
calls
change ({1,5,8},
1) // fourth
call
amount 1
min 1
coins.length 3
i = 0
coins[0] = 1 so return 1
change({1,5,8}, 2) // fifth call
amount 2
min 2
coins.length 3
i = 0 1 2
amount/2 1
j = 1
1 1
number = change ({1,5,8}, 1) + change
({1,5,8}, 1) // subsequent calls
change ({1,5,8}, 1) // sixth call
amount 1
min 1
coins.length 3
i = 0
coins[0] = 1 so return 1
chage
({1,5,8}, 1) //
seventh call
amount 1
min 1
coins.length 3
i = 0
coins[0] = 1 so return 1
note: We are not done yet.