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

// 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...
原文地址:https://www.cnblogs.com/wdan2016/p/5923949.html