硬幣。給定數量不限的硬幣,幣值爲25分、10分、5分和1分,編寫代碼計算n分有幾種表示法。(結果可能會很大,你需要將結果模上1000000007
簡要題解:
完全揹包簡單題,枚舉幣值,統計次數即可。主要代碼如下
class Solution {
public:
int mod=1000000007;
int waysToChange(int n) {
int a[]={1,5,10,25};
vector<int>dp(n+1,0);
dp[0]=1;
for(int i=0;i<4;i++)
for(int j=a[i];j<=n;j++)
{
dp[j]=(dp[j]+dp[j-a[i]])%mod;
}
return dp[n];
}
};