1. 描述
现有面值1分、2分、3分的硬币,将N分钱兑换成硬币,共有多少种可能。
2. 代码
def solve(coins, N):
dp = []
coins_num = len(coins)
dp = [0 for x in range(N + 1)]
dp[0] = 1
for i in range(coins_num):
for j in range(coins[i], N + 1):
dp[j] += dp[j - coins[i]]
return dp[N]
coins = [1, 2, 3]
res = solve(coins, 10)
print(res)
- 结果
14