1. 程式人生 > >C++ 求斐波那契數列 遞迴法 迭代法

C++ 求斐波那契數列 遞迴法 迭代法

程式碼:

/*遞迴法、迭代法求斐波那契數列*/
#include <iostream>
#include <stdio.h>
using namespace std;
class Solution
{
public:
	int Fib(int n)
	{
		if(n == 0)
			return 0;
		if(n == 1)
			return 1;
		if(n > 1)
			return Fib(n-1) + Fib(n-2);
	}
	long long Fib1(long long n)
	{
		int result[2]={0,1};
		if(n < 2)
			return result[n];
		int i = 1;
		int fib1 = 0 ,fib2 = 1,fib = 0;
		while(i < n)
		{
			fib = fib1 + fib2;
			fib1 = fib2;
			fib2 = fib;
			i++;
		}
		return fib;
	}
};
int main()
{
	Solution sol;
	cout<<"The recursion result of Fibonaccii: "<<sol.Fib(10)<<endl;
	cout <<"The iteration reslut of Fibonaccii: "<<sol.Fib1(10)<<endl;
	system("PAUSE");
	return 0;
}