刷題筆記(五)——斐波那契
題目描述
大家都知道斐波那契數列,現在要求輸入一個整數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];
}
}
};