题目描述
编写一个求斐波那契数列的递归函数,输入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<iostream>
using namespace std;
int F(int n) {
if (n == 0 || n == 1)
return 1;
return F(n - 1) + F(n - 2);
}
int main()
{
int m, n;
scanf("%d", &m);
for (int i = 0;i < m;i++) {
scanf("%d", &n);
for (int j = 0;j < n;j++) {
for (int x = 0;x < 2*n - 2*j -2;x++)
printf(" ");
if (j == 0)
printf("0\n");
else {
printf("0 ");
for (int y = 0;y < 2 * j;y++)
printf("%d ",F(y));
printf("\n");
}
}
}
return 0;
}
要清楚斐波那契数列的递归函数还有输出时每行空格的个数。