We introduced the Change problem in chapter 2 as the problem of changing
an amount of money M into the smallest number of coins from denominations
c = (c1, c2, . . . , cd). We showed that the naive greedy solution used by
cashiers everywhere is not actually a correct solution to this problem, and
ended with a correct—though slow—brute force algorithm. We will consider a slightly modified version of the Change problem, in which we do
not concern ourselves with the actual combination of coins that make up
the optimal change solution. Instead, we only calculate the smallest number
of coins needed (it is easy to modify this algorithm to also return the coin
combination that achieves that number).
Suppose you need to make change for 77 cents and the only coin denominations
available are 1, 3, and 7 cents. The best combination for 77 cents will
be one of the following: