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)
|