斐波那契的递归和非递归解法

斐波那契数列:像1,1,2,3,5,8.....这样的数列

通常定义为:F(1)=1,F(2)=2,F(n)=F(n-1)+F(n-2)(n>2)

非递归解法如下:

int Fibonacci(int n) {
        int ret[2]={0,1};
        if(n<2)
        {
            return ret[n];
        }
        int first=1;
        int second=0;
        int sum=0;
        for(int i=2;i<=n;i++)
        {
            sum=first+second;
            first=second;
            second=sum;
        }
        return sum;
        
        
    }

递归解法如下:

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

猜你喜欢

转载自blog.csdn.net/Freedom_222/article/details/82810298
今日推荐