Exact change

Run Settings
LanguagePython
Language Version
Run Command
# Given an integer amount in cents, return the number of distinct ways to make # exact change using pennies (1 cent), nickels (5 cents), dimes (10 cents), and # quarters (25 cents). def exact_change(amount): change_with_quarters = 0 change_with_dimes = 0 change_with_nickels = 0 change_with_pennies = 1 if amount >= 25: remaining = amount % 25 change_with_quarters = calculate_change(remaining) + amount // 25 if amount >= 10: remaining = amount % 10 change_with_dimes = calculate_change(remaining) + amount // 10 if amount >= 5: remaining = amount % 5 change_with_nickels = calculate_change(remaining) + amount // 5 print(f"quarters are {change_with_quarters}. dimes are {change_with_dimes}. nickels are {change_with_nickels}. pennies are {change_with_pennies}") return change_with_quarters + change_with_dimes + change_with_nickels + change_with_pennies def calculate_change(amount): if amount >= 25: remaining = amount % 25 return calculate_change(remaining) + amount // 25 if amount < 25 and amount >= 10: remaining = amount % 10 return calculate_change(remaining) + amount // 10 if amount < 10 and amount >= 5: remaining = amount % 5 return calculate_change(remaining) + amount // 5 return 0 result = exact_change(17) print(f"Exact change of 17 cents is {result}") result = exact_change(14) print(f"Exact change of 14 cents is {result}") result = exact_change(39) # should return 24. print(f"Exact change of 39 cents is {result}") result = exact_change(61) print(f"Exact change of 61 cents is {result}") result = exact_change(99) print(f"Exact change of 99 cents is {result}")
Editor Settings
Theme
Key bindings
Full width
Lines