题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
思路
这个题很简单,递归的方法都会写,还有一种方法性能好一些,节省空间,数列是 0、1、1、2、3、5,F(n)=F(n-1)+F(n-2),n=0的时候是0,只需要每次都记录F(n-1)和F(n-2),F(n-1)就是上轮计算结果,F(n-2)就是上上轮,初始值分别为1和0。
code:
class Solution {
public:
//方法1
int Fibonacci(int n) {
if(n<=0){
return 0;
}else if(n==1||n==2){
return 1;
}else{
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
//方法2
int Fibonacci(int n){
int res=0;
int next=1;
int temp;
//0 1 1
while(n--){
temp=next;
next=res+next;//下一个
res=temp;
}
return res;
}
};