大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39

// test14.cpp : 定义控制台应用程序的入口点。
//

include "stdafx.h"

include

include

include

include

include

include <initializer_list>

using namespace std;

class Solution {
public:
int Fibonacci(int n) {
//第一种方法 算法复杂度太高
/* if (n <= 2)
return n - 1;
else
return Fibonacci(n - 1) + Fibonacci(n - 2);
return 0;*/
//第二种方法 节省空间,时间快
int first = 0, second = 1,target=0;

if (n < 2)
return n ;
for (int i = 0; i < n-1; i++)
{
target = first + second;
first = second;
second = target;
}

return target;
}
};

int main()
{
int num ;
Solution so;
while (cin>>num)
{
cout << "所求结果是: " ;
cout << so.Fibonacci(num) << endl;
cout << endl;
}

return 0;
}
特别说明:数的位置:0 1 2 3 4 5 6 7 8 9 10 11.....
对应的数:0 1 1 2 3 5 8 13 21 30 51 81...

posted @ 2016-09-30 15:37  wdan2016  阅读(4659)  评论(0)    收藏  举报