//斐波那契额数列
//1、1、2、3、5、8、13、21、34、……
//在数学上,斐波那契数列以如下被以递推的方法定义:
//F(1) = 1,F(2) = 1, F(n) = F(n - 1) + F(n - 2)(n ≥ 3,n ∈ N*)
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
class solution
{
public:
//递归方法
/*int Fibonacci(int n)
{
if (n == 0)
{
return 0;
}
if (n == 1 || n == 2)
{
return 1;
}
return Fibonacci(n - 1) + Fibonacci(n - 2);
}*/
//动态规划法
int Fibonacci(int n)
{
if (n == 0)
{
return 0;
}
if (n == 1 || n == 2)
{
return 1;
}
int fn1 = 0;
int fn2 = 1;
int fn3;
for (int i = 2; i <= n; i++)
{
fn3 = fn1 + fn2;
fn2 = fn3;
fn1 = fn2;
}
return fn3;
}
};
int main()
{
//类的实例化对象
solution(a);
a.Fibonacci(3);
printf("%d\n", a.Fibonacci(3));
system("pause");
return 0;
}
斐波那契数