时间限制: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
思路:
利用数组存储斐波那契数列。
注意循环范围判断。
代码:
#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
****************************************************************/