斐波那契数列

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39

先说一下什么是斐波那契数列

1,1,2,3,5,8.

 循环方法:

// 1,1,2,3,5,8
//通项公式 f(n) = f(n-1)+f(n-2)
class Solution {
public:
    //非递归写法
    int Fibonacci(int n)
    {
        vector<int> val(41);
        val[0] = 1;
        val[1] = 1;
        if (n == 0)
            return 0;
        else if (n > 0 && n <=2)
            return val[0];

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

};

递归法: 超时(不推荐)

    int Fibonacci2(int n)
    {
        if(n <= 0)
            return 0;
        else if(n == 1)
            return 1;
        else
            return Fibonacci(n-1)+Fibonacci(n-2);
    }
原文地址:https://www.cnblogs.com/xiaokang01/p/12455978.html