九度oj-1075

题目描述:

编写一个求斐波那契数列的递归函数,输入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 arr[200];
void fb(int n){
    int len = 2*n -1;
    if(1 == 0)
        arr[0] = 0;
    else if(1 == n){
        arr[0] = 0;
        arr[1] = arr[2] = 1;
    }else{
        fb(n-1);
    }

    for(int i=0; i<len; i++){
        if(i)
            printf(" %d", arr[i]);
        else
            printf("%d", arr[i]);

    }
    printf("\n");
    if(n > 1){
        arr[len] = arr[len -1] + arr[len - 2];
        arr[len + 1 ] = arr[len] + arr[len-1];
    }
}
int main() {
    int n;
    while(scanf("%d", &n) != EOF)
    {
        fb(n);
    }
    return 0;
}