牛客66题(7)斐波那契数列

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

n<=39;斐波那契数列特征为除第一项与第二项外其余项均为前两项的和。

class Solution {
public:
    int Fibonacci(int n) {
        if(n==0)
        {
            return 0;
        }
        if (n==1||n==2)
        {
            return 1;
        }
        
        int sum=0,m=0,x=1;
            for(int i=1;i<n;i++)
            {
                sum=m+x;
                m=x;
                x=sum;
                
            }
       return sum;
    }
};

动态规划问题:关键点在FOR循环内部,首先将初始两项相加的和存起来,因为此数列前两项和为第三项的值,要求某一项的值也就是某项值前两项的和,同时这前两项又分别是他们自己前两项的和, 所以定义3个变量,一个变量用于存放两项的和,然后把和赋值给第二项,原来第二项变成第一项。

猜你喜欢

转载自blog.csdn.net/libinxxx/article/details/84380894