刷题笔记(五)——斐波那契
题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
思路:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)
n>=2时,第n项等于前两项之和;所以利用一个长度为2的数组记录前两项的值。
class Solution {
public:
int Fibonacci(int n) {
if(n==0)
return 0;
else if(n==1)
return 1;
else
{
int a[2]={0,1};
while(n-1!=0)
{
int temp=a[1];
a[1]=a[0]+a[1];
a[0]=temp;
n--;
}
return a[1];
}
}
};