-
题目描述:
-
编写一个求斐波那契数列的递归函数,输入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 f(int n) {
if (n == 1)
return 0;
if (n == 2)
return 1;
if (n > 2) {
int tmp = f(n - 1) + f(n - 2);
return tmp;
}
}
int main() {
int n;
while (scanf("%d", &n) != EOF) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= 2 * i - 1; j++) {
if (j == 1)
printf("0");
else
printf(" %d", f(j));
}
printf("\n");
}
}
return 0;
}
题目链接:
http://ac.jobdu.com/problem.php?pid=1075