时间限制:5 秒

内存限制:32 兆

特殊判题:否

提交:3121

解决:1806

题目描述:

编写一个求斐波那契数列的递归函数,输入n值,使用该递归函数,输出如样例输出的斐波那契数列。

输入:

一个整型数n

输出:

题目可能有多组不同的测试数据,对于每组输入数据,

按题目的要求输出相应的斐波那契图形。

样例输入:
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年清华大学计算机研究生机试真题(第II套)

思路:

利用数组存储斐波那契数列。

注意循环范围判断。

代码:

#include <stdio.h>

int fib(int n)
{
int a;
if (n==0)
a = 0;
else if (n==1)
a = 1;
else
a = fib(n-2) + fib(n-1);
return a;
} int main(void)
{
int n, i, j;
int f[1000]; while (scanf("%d", &n) != EOF)
{
for (i=0; i<2*n-1; i++)
f[i] = fib(i); for (i=1; i<=n; i++)
{
printf("%d", f[0]);
for (j=1; j<i; j++)
printf(" %d %d", f[2*j-1], f[2*j]);
printf("\n");
}
} return 0;
}
/**************************************************************
Problem: 1075
User: liangrx06
Language: C
Result: Accepted
Time:1830 ms
Memory:912 kb
****************************************************************/

05-27 18:14