编辑代码

#include <stdio.h>


int fab1(int n){
    if(n==0) return 0;
    else if(n==1) return 1;
    else return fab1(n-1)+fab1(n-2);
}

int fab2(int n){
    int fa[n];
    fa[0]=0;
    fa[1]=1;
    for(int i=2;i<=n;i++){
        fa[i]=fa[i-1]+fa[i-2];
    }
    return fa[n];

}



int main () {
    printf("%d\n",fab1(2));
    printf("%d\n",fab1(3));
    printf("%d\n",fab1(4));
    printf("%d\n",fab1(5));

    printf("----------\n");

    printf("%d\n",fab2(2));
    printf("%d\n",fab2(3));
    printf("%d\n",fab2(4));
    printf("%d\n",fab2(5));

    return 0;
}