24 lines
501 B
Python
24 lines
501 B
Python
def count_change(change, coins):
|
|
from math import ceil
|
|
count = 0
|
|
coin, coins = coins[0], coins[1:]
|
|
|
|
if change % coin == 0:
|
|
count += 1
|
|
|
|
if not coins:
|
|
return count
|
|
|
|
for i in range(ceil(change / coin)):
|
|
count += count_change(change - i * coin, coins)
|
|
return count
|
|
|
|
|
|
def euler_031():
|
|
return count_change(200, [200, 100, 50, 20, 10, 5, 2, 1])
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print("e031.py: {}".format(euler_031()))
|
|
assert(euler_031() == 73682)
|