斐波那契数列
题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
#include "stdafx.h"
#include <iostream>
using namespace std;
class Solution {
public:
/*递归超过内存限制
int Fibonacci(int n) {
if (n == 0)
{
return 0;
}
if (n == 1 || n == 2)
{
return 1;
}
else
{
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
}
*/
int Fibonacci(int n)
{
if (n == 0)
{
return 0;
}
if (n == 1 || n == 2)
{
return 1;
}
int i;
int result1 = 1;
int result2 = 1;
int tmp;
for (int i = 3; i <= n; i++)
{
tmp = result1;
result1 = result1 + result2;
result2 = tmp;
}
return result1;
}
};
int main()
{
Solution *s = new Solution();
cout << s->Fibonacci(2) << endl;
cout << s->Fibonacci(5) << endl;
cout << s->Fibonacci(6) << endl;
return 0;
}