數的計算




描述

要求找出具有下列性質數的個數(包含輸入的自然數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]);
}
//自底向上 動態規劃

發佈了25 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章