当前位置: 代码迷 >> 编程 >> 天勤OJ 标题1403: 数列
  详细解决方案

天勤OJ 标题1403: 数列

热度:10079   发布时间:2013-02-26 00:00:00.0
天勤OJ 题目1403: 数列
题目描述

编写一个求菲波那奇数列的递归函数,输入值,使用该递归函数,输出如下图形参见样例

 

输入

输入第一行为样例数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
 

提示 [+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

 

来源

北京理工大学计算机专业2002年研究生复试上机试题

 
/**********************************   日期:2013-2-15*   作者:SJF0115*   题号: 天勤OJ 题目1403: 数列*   来源:http://acmclub.com/problem.php?id=1403*   结果:AC*   来源:北京理工大学计算机专业2002年研究生复试上机试题*   总结:**********************************/#include <stdlib.h>#include <stdio.h>#include<string.h>int Fibonacci(int n){	if(n == 0){		return 0;	}	else if(n == 1){		return 1;	}	else{		return Fibonacci(n-1) + Fibonacci(n-2);	}}int main(){    int i,N,n,k,j;    int Num[21];    scanf("%d",&n);	//n组测试用例	for(i = 0;i < n;i++){		scanf("%d",&N);		for(j = 0;j <= 2*N-1;j++){			Num[j] = Fibonacci(j);		}		//层		for(j = 1;j <= N;j++){			for(k = 0;k < 2*(N-j);k++){				printf(" ");			}			//第n层 共有2*n-1个数据 (n = 1,2,3.....)			for(k = 0;k < 2*j-1;k++){				if(k == 2*j-2){					printf("%d\n",Num[k]);				}				else{					printf("%d ",Num[k]);				}			}		}//for	}//for    return 0;}