Files
SolutionEuler/solutions/0031/euler_31.py
Sidney Zhang 8ee312ac1d feat:添加欧拉项目第30题和第31题的解决方案
📝 docs:为第31题添加详细的动态规划算法说明文档
2025-12-29 18:18:10 +08:00

28 lines
676 B
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
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?
"""
def main():
coins = [1, 2, 5, 10, 20, 50, 100, 200]
ways = [1] + [0] * 200
for coin in coins:
for i in range(coin, 201):
ways[i] += ways[i - coin]
print(f"\nThe number of ways to make £2 is {ways[200]:,d}")
if __name__ == "__main__":
main()