题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39
解题思路:该数列是非常著名的,{0,1,1,2,3,5.........},该题使用递推式F(n)=F(n-1)+F(n-2),但是若直接使用递归,极易造成内存栈溢出,因此考虑使用
通项公式或者非递归的方式解决。
代码如下:
class Solution {
public:
int Fibonacci(int n) {
if(n==1)
return 1;
else if(n==2)
return 1;
else if(n==0)
return 0;
else
{
int a=1,b=1,sum=2;
while(sum!=n)
{
a=a+b;
int t=a;
a=b;
b=t;
sum++;
}
return b;
}
}
};