Divide-and-Conquer Idea: Solve problem by:

Consider the coin-change problem: Given a set of coin types and an amount of change to be returned, determine the fewest number of coins for this amount of change.

1) What determines the size of the problem?

2) How could we divide the coin-change problem for 29-cents into smaller problems?

3) If we knew the solution to these smaller problems, how would be able to solve the original problem?

4) After we give back the first coin, which smaller amounts of change do we have?

5) If we knew the fewest number of coins needed for each possible smaller problem, then how could determine the fewest number of coins needed for the original problem?

6) Complete a recursive relationship for the fewest number of coins.

7). In a dynamic programming coin-change solution, you fill an array fewestCoins from 0 to the amount of change.

An element of fewestCoins stores the fewest number of coins necessary for the amount of change corresponding to its index value. For 29-cents using the set of coin types {1, 5, 10, 12, 25, 50}, determine the value of fewestCoins[0] to

fewestCoins[6].

8) For 29-cents using the set of coin types {1, 5, 10, 12, 25, 50}, determine the value of fewestCoins[29].