-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path[31]CoinSums.py
18 lines (15 loc) · 2.43 KB
/
[31]CoinSums.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"""
In the United Kingdom the currency is made up of pound (£) and pence (p). There are eight coins in general circulation:
1p, 2p, 5p, 10p, 20p, 50p, £1 (100p), and £2 (200p).
It is possible to make £2 in the following way:
1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p
How many different ways can £2 be made using any number of coins?
[200, [[100, [[50, [[20, [[5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]]]], [20, [[5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]]]], [50, [[20, [[5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]]]], [20, [[5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]]]]]], [100, [[50, [[20, [[5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]]]], [20, [[5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]]]], [50, [[20, [[5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]]]], [20, [[5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]], [5, [[2, [[1], [1]]], [2, [[1], [1]]], [1]]]]]]]]]
"""
coins = [200, 100, 50, 20, 10, 5, 2, 1]
target = 200
ways = [1] + [0] * target
for x in coins:
for i in range(x, target + 1):
ways[i] += ways[i-x]
print(ways[200])