问题 B: 数列
时间限制: 1.000 Sec 内存限制: 32 MB
提交: 1437 解决: 785
[提交] [状态] [命题人:外部导入]
题目描述
编写一个求斐波那契数列的递归函数,输入n 值,使用该递归函数,输出如下图形(参见样例)。
输入
输入第一行为样例数m,接下来有m行每行一个整数n,n不超过10。
输出
对应每个样例输出要求的图形(参见样例格式)。
样例输入 Copy
1 6
样例输出 Copy
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 <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;
int a[200]= {0};
int getSum(int n)
{
if(n==0)
return a[0];
if(n==1)
return a[1];
a[n]=getSum(n-1)+getSum(n-2);
return a[n];
}
int main(int argc, char *argv[])
{
a[0]=0;
a[1]=1;
int cc=getSum(20);
int m,n;
scanf("%d",&m);
for(int j=0; j<m; j++)
{
scanf("%d",&n);
if(n>=1)
{
for(int i=1; i<2*n; i+=2)
{
for(int l=1; l<2*n-i; l++)
{
printf(" ");
}
for(int k=0; k<i; k++)
{
printf("%d ",a[k]);
}
printf("\n");
}
}
}
return 0;
}