{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

# hw3-solns - HOMEWORK 3 SOLUTIONS Problem 1 a void...

This preview shows pages 1–3. Sign up to view the full content.

HOMEWORK 3 - SOLUTIONS March 20, 2008 Problem 1: a) void coin-change(int X, int &x1, int &x2, int &x3) //x1 is the number of dimes, x2 is the number of nickels, //and x3 is the number of pennies { x1 = X/10; X %= 10; x2 = X/5; X %= 5; x3 = X; } b) Proof that the greedy solution is optimal: Notice that the optimal solution would never have more than 4 pennies (5 pennies can be replaced by one nickel) and also never has more than 1 nickel(2 nickels can be replaced with one dime). Therefore we can say that any solution which satisifies the above condition is an optimal solution. Now we can prove that this is true for the greedy program’s solution. The number of nickels is x 2 = (( X %10) / 5). Since X %10 9, x 2 1. Similarly, x 3 4. Therefore the solution returned by the greedy algorithm is optimal. c) The solution is not optimal if we have coins worth 4 cents. We can prove this using a simple counterexample. For X = 8, the greedy algorithm would 1

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
give 1 nickel and 3 cents, a total of 4 coins while the optimal solution is 2 “fourbits“.
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

### Page1 / 4

hw3-solns - HOMEWORK 3 SOLUTIONS Problem 1 a void...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online