2018 Problem B 数列

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a845717607/article/details/89430221

问题 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;
}

猜你喜欢

转载自blog.csdn.net/a845717607/article/details/89430221