编辑代码

#include <stdio.h>

int fibonacci1(int n){   //斐波拉契数列———递归
    if(n<1) return 0;
    if(n==1||n==2) return 1;
    return fibonacci1(n-1)+fibonacci1(n-2);
    
}

int fibonacci2(int n){   //斐波拉契数列———递推
    int f0=0,f1=1;
    if(n==0||n==1) return n;
    int i,f;
    for(i=2;i<=n;i++){
        f=f0+f1;
        f0=f1;
        f1=f;
    }
    return f;

}

int main () {
    printf("用递归实现斐波拉契数列\n");
    printf("Fib(%d)=%d\n",0,fibonacci1(0));
    printf("Fib(%d)=%d\n",1,fibonacci1(1));
    printf("Fib(%d)=%d\n",2,fibonacci1(2));
    printf("Fib(%d)=%d\n",3,fibonacci1(3));
    printf("Fib(%d)=%d\n\n",10,fibonacci1(10));
    
    printf("用递推实现斐波拉契数列\n");
    printf("Fib(%d)=%d\n",0,fibonacci2(0));
    printf("Fib(%d)=%d\n",1,fibonacci2(1));
    printf("Fib(%d)=%d\n",2,fibonacci2(2));
    printf("Fib(%d)=%d\n",3,fibonacci2(3));
    printf("Fib(%d)=%d\n",10,fibonacci2(10));
    return 0;
   
    
}