斐波那契数列:
1. 原始方法 ,经典方法
#include<iostream>
using namespace std;
long long Fibonacci(unsigned n)
{
if(n==0||n==1)
return n;
else if(n>1)
return Fibonacci(n-1)+Fibonacci(n-2);
}
2. 改进方法,将已经计算出的值存储起来 下次直接使用,不用再次计算。
f(0) , f(1) 得f(2)=f(0)+f(1),,,f(3)=f(2)+f(1);,,,,,,
long long Fibonacci(unsigned n)
{
int result[2]={0,1};
if(n<2)
return result[n];
long long FibonacciOne=1;//f(n-1)
long long FibonacciTow=0;//f(n-2)
long long Fibon=0;
for(unsigned int i=2;i<=n;++i)
{
Fibon=FibonacciOne+FibonacciTow;//f(n)=f(n-1)+f(n-2)
FibonacciTow=FibonacciOne;//f(n-2+1) 变成 f(n-1)
FibonacciOne&#