Codeup100000583问题 B: 数列
题目描述:
编写一个求斐波那契数列的递归函数,输入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
实现代码:
#include <cstdio>
#include <cstring>
int F(int index){
if(index==1||index==2){
return 1;
}else{
return F(index-1)+F(index-2);
}
}
int main()
{
int m,n;
int a[100]={0};
scanf("%d",&m);
for(int i=0;i<m;i++){
scanf("%d",&n);
a[0]=0;
for(int j=1;j<=2*n-1;j++){
a[j]=F(j);
}
for(int j=1;j<=n;j++){
for(int k=0;k<((2*n-1)/2-j+1)*2;k+=2){
printf(" ");
}
int flag=0;
for(int k=1;k<=2*j-1;k++){
if(!flag){
printf("%d",a[k-1]);
flag=1;
}else{
printf(" %d",a[k-1]);
}
}
printf("\n");
}
}
return 0;
}