剑指offer-7:斐波那契数列
目录
1问题描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
2问题解析
f(n) = f(n-1) + f(n-2)
3问题答案
class Solution {
public:
int Fibonacci(int n) {
if(n<=0) return 0;
if(n==1 || n==2) return 1;
int fn1=1, fn2=1;
while(n-- > 2)
{
fn1=fn1+fn2;
fn2=fn1-fn2;
}
return fn1;
}
};
4完整代码
#include <iostream>
using namespace std;
class Solution {
public:
int Fibonacci(int n) {
if(n<=0) return 0;
if(n==1 || n==2) return 1;
int fn1=1, fn2=1;
while(n-- > 2)
{
fn1=fn1+fn2;
fn2=fn1-fn2;
}
return fn1;
}
};
int main()
{
Solution s;
cout<<s.Fibonacci(10)<<endl;
}
运行结果
55