給你六種面額1、5、10、20、50、100元的紙幣,假設每種幣值的數量都足夠多,編寫程序求組成N元(N爲0-10000的非負整數)的不同組合的個數。
def fun(n):
money = [1,5,10,20,50,100]
dp = [0 for i in range(n+1)] # dp[i]指n爲i時的拼湊方法數
dp[0] = 1 #當n爲0是,方法數爲1
for item in money:
for i in range(1,n+1):
if i >= item:
dp[i] += dp[i-item]
return dp[n]