斐波那契数列--数组和递归的方式实现

请用数组和递归的方式分别实现计算斐波那契数列的第20项1、1、2、3、5、8、13、21、34
,n=1和n=2的时候都是输出1公式: f(n) = f(n-1)+f(n-2);例如第20项,6765

#include 
//数组
int fibonacci1(int n) {
    int fib[n+1];                           
    fib[1] = 1;
    fib[2] = 1;
    for (int i = 3; i <= n; i++) {
        fib[i] = fib[i-1] + fib[i-2];
    }
    return fib[n];
}
//递归
int fibonacci2(int n) {
    if (n <= 2) {
        return 1;
    }
    return fibonacci2(n-1) + fibonacci2(n-2)
}


int main() {



    int result1 = fibonacci1(20);
    printf("%d\n", result1);
    int result2 = fibonacci2(20);
    printf("%d\n", result2);
    return 0;
}

                                            

斐波那契数列--数组和递归的方式实现_第1张图片

你可能感兴趣的:(学习方法)