编辑代码

#include <stdio.h>

int Fibonacci1(int n){
    if (n < 1)
    {
        return 0;
    }
    if (n == 1)
    {
        return 1;
    }
    if (n == 2)
    {
        return 1;
    }
    return Fibonacci1(n - 1) + Fibonacci1(n - 2);
}

int Fibonacci2(int n){
    if (n==0)
    {
        return 0;
    }
    if (n == 1)
    {
        return 1;
    }
    if (n == 2)
    {
        return 1;
    }
    int methods = 0;
    int pre = 1;
    int prepre = 0;
    int step = 2;
    for (; step < n + 1; step++)
    {
     methods = prepre + pre;
        prepre = pre;
        pre = methods;
    }
    return methods;
}

int main () {
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
    printf("递归算法测试\n");
    printf("%d \n",Fibonacci1(4)) ;
    printf("%d \n",Fibonacci1(5)) ;
    printf("%d \n",Fibonacci1(6)) ;
    printf("=======================\n");
    printf("递推算法测试\n");
    printf("%d \n",Fibonacci2(4)) ;
    printf("%d \n",Fibonacci2(5)) ;
    printf("%d \n",Fibonacci2(6)) ;
    return 0;
}