2018 Problem B 數列

問題 B: 數列

時間限制: 1 Sec  內存限制: 32 MB

題目描述

編寫一個求斐波那契數列的遞歸函數,輸入n 值,使用該遞歸函數,輸出如下圖形(參見樣例)。

輸入

輸入第一行爲樣例數m,接下來有m行每行一個整數n,n不超過10。

輸出

對應每個樣例輸出要求的圖形(參見樣例格式)。

樣例輸入

1
6

樣例輸出

          0
        0 1 1
      0 1 1 2 3
    0 1 1 2 3 5 8
  0 1 1 2 3 5 8 13 21
0 1 1 2 3 5 8 13 21 34 55

經驗總結

遞歸的斐波那契很簡單,就注意一下輸出圖形的構造,其他的就沒什麼難的啦~

AC代碼

#include <cstdio>
int f(int a)
{
	if(a==0||a==1)
		return 1;
	else return f(a-1)+f(a-2);
}
int main()
{
	int n;
	while(~scanf("%d",&n))
	{
		for(int k=0;k<n;k++)
		{ 
			int num;
			scanf("%d",&num);
			for(int i=0;i<num;i++)
			{
				for(int j=0;j<num-1-i;j++)
					printf("  ");
				if(i!=0)
				{
					printf("0 ");
					for(int j=0;j<2*i-1;j++)
						printf("%d ",f(j));
					printf("%d\n",f(2*i-1));
				}
				else printf("0\n");
			}
		} 
	}
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章