題目連結: https://zerojudge.tw/ShowProblem?problemid=d289
# 內容
本題非常簡單?!可就不一定了,那就得看你如何看本題了。
請求:1A + 13B + 33C + 43D + 139E + 169F + 1309G + 2597H = I ,的非負整數解有多少。
# 解題思路
把他想成換零錢問題的方式解決:
現在你有 1、13、33、43、139、169、1309、2597,八種代幣,目標是想轉換成 I 元
試問有多少種組合法?
# 程式碼
#include <iostream> | |
using namespace std; | |
int price[8]={1,13,33,43,139,169,1309,2597}; | |
int c[8001]={}; | |
int n; | |
int main() { | |
c[0]=1; | |
for(int i=0;i<8;i++){ | |
for(int j=price[i];j<8001;j++) | |
c[j] += c[j-price[i]]; | |
} | |
while(cin>>n) | |
cout<<c[n]<<endl; | |
} |