题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n≤39
示例1
输入
4
返回值
3
斐波那契数列:每一项等于前两项的和
本来挺简单的,有点卡在了编译器上,clang++11语法框架有点不同于之前常使用的c++,main用不了会出错。不过看了一下别人的代码,大体还是不变的。
法一:数组模拟
class Solution {
public:
int Fibonacci(int n) {
int a[50]={
0,1};
for(int i=2;i<=n;i++)
a[i]=a[i-1]+a[i-2];
return a[n];
}
};
法二:变量模拟
class Solution {
public:
int Fibonacci(int n) {
if(n==0||n==1) return n;
int x=0,y=1;
while(n--)
{
y=x+y;
x=y-x;
}
return x;
}