?
1 #include < iostream >
2 ? using namespace std;
3 ? // Author: Tanky Woo
4 ? // www.wutianqi.com
5 const int _max = 10001 ;
6 // c1是保存各項質量砝碼可以組合的數目
7 // c2是中間量,保存沒一次的情況
8 int c1[_max], c2[_max];
9 int main()
10 { // int n,i,j,k;
11 int nNum; //
12 int i, j, k;
13
14 while (cin >> nNum)
15 {
16 for (i = 0 ; i <= nNum; ++ i) // ---- ①
17 {
18 c1[i] = 1 ;
19 c2[i] = 0 ;
20 }
21 for (i = 2 ; i <= nNum; ++ i) // ----- ②
22 {
23
24 for (j = 0 ; j <= nNum; ++ j) // ----- ③
25 for (k = 0 ; k + j <= nNum; k += i) // ---- ④
26 {
27 c2[j + k] += c1[j];
28 }
29 for (j = 0 ; j <= nNum; ++ j) // ---- ⑤
30 {
31 c1[j] = c2[j];
32 c2[j] = 0 ;
33 }
34 }
35 cout << c1[n] << endl;
36 }
37 return 0 ;
38 }
?
?
母函數模板
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
