// test14.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<string>
#include<cctype>
#include <vector>
#include<exception>
#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...