描述
要求找出具有下列性質數的個數(包含輸入的自然數n):
先輸入一個自然數n(n<=1000),然後對此自然數按照如下方法進行處理:
1. 不作任何處理;
2. 在它的左邊加上一個自然數,但該自然數不能超過原數的一半;
3. 加上數後,繼續按此規則進行處理,直到不能再加自然數爲止.
輸入
一個自然數n
輸出
一個數,表示滿足條件的數的個數
樣例輸入
6
樣例輸出
6
提示
樣例說明:滿足條件的數是6,16,26,126,36,136
題目來源
NOIP2001 普及組
//1010
#include "stdio.h"
int main()
{
unsigned n,i,j;
unsigned T[1001]={0};
T[0]=1;
T[1]=1;
scanf("%d",&n);
for(i=2;i<=n;++i)
{
for(j=0;j<=i/2;++j)
{
T[i]+=T[j];
}
}
printf("%d\n",T[n]);
}
//自底向上 動態規劃