锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
//鐞嗚В濂芥ā鏉垮悗鍒嗘鍋?nbsp;
#include <stdio.h>
#include <stdlib.h>
int main ()

{
int num1[9000];
int num2[9000];
int number1, number2, number3;
while ( scanf ("%d%d%d", &number1, &number2, &number3) != EOF && ( number1 != 0 && number2 != 0 && number3 != 0 ) )
{
int max;
max = 1 * number1 + 2 * number2 + 5 * number3;
//鎬諱綋鍒濆鍖?nbsp;
for (int i =0; i <= max; i ++)
{
num2[i] = 0;
num1[i] = 0;
}
//絎竴涓〃杈懼紡鍜岀浜屼釜琛ㄨ揪寮忕浉涔?br>
for (int i = 0; i <= number1; i ++) //絎竴涓〃杈懼紡鐨勬墍鏈夐潰鍊奸兘鏈変竴縐嶆儏鍐?nbsp;
{
num1[i] = 1;
}
for (int i = 0; i <= number1 * 1; i ++)
{
for (int j = 0; j <= number2 * 2; j += 2)
{
num2[i + j] += num1[i];
}
}
for (int i = 0; i <= number1 * 1 + number2 * 2; i ++) //鎵╁ぇ闈㈠艱寖鍥?nbsp;
{
num1[i] = num2[i];
num2[i] = 0;
}
//絎簩涓〃杈懼紡鍜岀涓変釜琛ㄨ揪寮忕浉涔?br>
for (int i = 0; i <= 1 * number1 + 2 * number2; i ++)
{
for (int j = 0; j <= 5 * number3; j += 5)
{
num2[i + j] += num1[i];
}
}
for (int i =0; i <= max; i ++)
{
num1[i] = num2[i];
num2[i] = 0;
}
int i;
for ( i = 0; i <= max; i ++)
{
if (num1[i] == 0)
{
printf ("%d\n", i);
break;
}
}
if(i == max+1)
printf("%d\n", i);
}
// system ("pause");
return 0;
} 
# include <stdio.h>
# include <stdlib.h>
int main ()

{
int num1[121];
int num2[121];
int n;
while ( scanf ("%d", &n) != EOF )
{
for ( int i = 0; i <= n; i ++ ) //涓嶈鍒濆鍖栭敊浜?nbsp;
{
num2[i] = 0;
num1[i] = 1; //絎竴涓〃杈懼紡涓殑闈㈠肩粍鍚堥兘鏄?錛屾墍浠ヤ笅闈㈢殑鏄粠絎簩涓〃杈懼紡寮濮?nbsp;
}
for ( int i = 2; i <= n; i ++ )
{
for( int j = 0; j <= n; j ++ ) //娉ㄦ剰姣忎竴涓〃杈懼紡閮芥槸浠庣 0 欏瑰紑濮?nbsp; 鍒?nbsp;絎?nbsp;n 欏?nbsp;
{
for (int k = 0; k + j <= n; k += i)
{
num2[k + j] += num1[j];
}
}
for (int i = 0; i <= n; i ++)
{
num1[i] = num2[i]; //num2[] 鍙槸璧峰埌涓涓腑闂翠繚鐣欓潰鍊肩殑浣滅敤緇勫悎鐨勪綔鐢紝鑰屼粠涓嬩竴涓〃杈懼紡寮濮嬪張瑕佸垵濮嬪寲涓?
num2[i] = 0;
}
}
printf ("%d\n", num1[n]);
}
// system ("pause");
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#include <iostream> using namespace std; // Author: Tanky Woo // www.wutianqi.com const int _max = 10001; // c1鏄繚瀛樺悇欏硅川閲忕牆鐮佸彲浠ョ粍鍚堢殑鏁扮洰 // c2鏄腑闂撮噺錛屼繚瀛樻病涓嬈$殑鎯呭喌 int c1[_max], c2[_max]; int main() { //int n,i,j,k; int nNum; // int i, j, k; while(cin >> nNum) { for(i=0; i<=nNum; ++i) // ---- 鈶?/span> { c1[i] = 1; c2[i] = 0; } for(i=2; i<=nNum; ++i) // ----- 鈶?/span> { for(j=0; j<=nNum; ++j) // ----- 鈶?/span> for(k=0; k+j<=nNum; k+=i) // ---- 鈶?/span> { c2[j+k] += c1[j]; } for(j=0; j<=nNum; ++j) // ---- 鈶?/span> { c1[j] = c2[j]; c2[j] = 0; } } cout << c1[n] << endl; } return 0; } |
鎴戜滑鏉ヨВ閲婁笅涓婇潰鏍囧織鐨勫悇涓湴鏂癸細
鈶?nbsp; 銆侀鍏堝c1鍒濆鍖栵紝鐢辯涓涓〃杈懼紡(1+x+x2+..xn)鍒濆鍖栵紝鎶婅川閲忎粠0鍒皀鐨勬墍鏈夌牆鐮侀兘鍒濆鍖栦負1.
鈶?nbsp; 銆?i浠?鍒皀閬嶅巻錛岃繖閲宨灝辨槸鎸囩i涓〃杈懼紡錛屼笂闈㈢粰鍑虹殑絎簩縐嶆瘝鍑芥暟鍏崇郴寮忛噷錛屾瘡涓涓嫭鍙鋒嫭璧鋒潵鐨勫氨鏄竴涓〃杈懼紡銆?/span>
鈶€乯 浠?鍒皀閬嶅巻錛岃繖閲宩灝辨槸鍙竴涓〃杈懼紡閲岀j涓彉閲忥紝姣斿鍦ㄧ浜屼釜琛ㄨ揪寮忛噷錛?1+x2+x4….)閲岋紝絎琷涓氨鏄痻2*j.
鈶?nbsp; k琛ㄧず鐨勬槸絎琷涓寚鏁幫紝鎵浠姣忔澧瀒錛堝洜涓虹i涓〃杈懼紡鐨勫閲忔槸i錛夈?/span>
鈶?nbsp; 銆佹妸c2鐨勫艱祴緇檆1,鑰屾妸c2鍒濆鍖栦負0錛屽洜涓篶2姣忔鏄粠涓涓〃杈懼紡涓紑濮嬬殑
#include <iostream>
using namespace std;
int num1[11111];
int num2[11111];
int main ()

{
int N;
while ( cin >> N , N )
{
for ( int i = 0 ; i <= N; ++ i )
{
num1[i] = 1;
num2[i] = 0;
}
for ( int i = 2; i <= 17; ++ i ) 浠庣浜屼釜琛ㄨ揪鏃跺紑濮嬩竴鐩村埌絎琻涓〃杈懼紡
for ( int j = 0;j <= N; ++ j ) 浠庤繖涓〃杈懼紡鍏朵腑鐨勭j欏癸紙0---n錛夊垎鍒拰鎵鏈夊彲鑳界殑闈㈠艱繘琛屾寚鏁扮浉鍔犺繍綆?錛宩 <= 鏈澶у彲鑳界殑闈㈠?br>
{
for ( int k = 0; k + j <= N; k += i * i ) 
{
num2[j + k] += num1[j];
}
}
for ( int j = 0; j <= N; ++ j )
{
num1[j] = num2[j];
num2[j] = 0;
}
}
cout << num1[N] << endl;
}
return 0;
}