首页 > 技术文章 > 剑指offer(7):斐波那契数列

ttzz 2020-08-22 21:33 原文

题目描述

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39
class Solution {
public:
    int Fibonacci(int n) {
        if(n==0)
            return 0;
        else if(n==1)
            return 1;
        else{
            vector<int> v;
            v.push_back(0);
            v.push_back(1);
            for(int i = 2;i<=n;i++){
                v.push_back(v[i-1]+v[i-2]);
            }
            return v[n];
        }
    }
};

 

 

class Solution {
public:
    int Fibonacci(int n) {
        if(n==0)
            return 0;
        else if(n==1)
            return 1;
        else{
            int f1 = 0;
            int f2 = 1;
            int cur;
            for(int i=2;i<=n;i++){
                cur = f1+f2;
                f1 = f2;
                f2 = cur;
            }
            return cur;
        }
    }
};

class Solution {
public:
    int Fibonacci(int n) {
        int f1 = 0;
        int f2 = 1;
        while(n-->0){
            f2 += f1;
            f1 = f2 - f1;
        }
        return f1;
    }
};

 

 

推荐阅读