斐波那契数列

来源:互联网 发布:知乎回答怎么加图片 编辑:程序博客网 时间:2024/06/08 07:08

题目描述

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

n<=39

class Solution {
public:
    int Fibonacci(int n) {
     //F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)
     //递归法
 //    if(n==0) return 0;
 //  if(n==1) return 1;
       
 //   return Fibonacci(n-2)+Fibonacci(n-1);
     //非递归法。。 
      //偷工减料。
      /*  vector<int> tmp(40);
        tmp[0]=0;
        tmp[1]=1;
        if(n<=0) return n;
        //if(n==1) return 1;
        int i=2;
        while(i<=n)
      {
            tmp[i]=tmp[i-2]+tmp[i-1];
             i++;
      }
        return tmp[n];
      */
       //动态规划算法
        int  f=0;
        int  g=1;
        
        while(n--)
            {
             g=g+f;
            //f为原g.
             f=g-f;
            }
        return f;
        
    }
};


原创粉丝点击