斐波那契额数列

斐波那契数列的形式:



F(n)=0,,if  n==0

F(n)=1  if   n==1


F(n)=F(n-1)+F(n-2)   if n>1


我们可以递归的方法解决:

int Fib(int n)
{
	if (n == 0){
		return 0;
	}
	if (n == 1){
		return 1;
	}
	else
	{
		return Fib(n - 1) + Fib(n - 2);
	}
}

有没有更加优化的算法呢?

1、我们可以求解数列的值


递推公式:

F(N)=F(N-1)+F(N-2)

我们可以求解:



2、分治策略

斐波那契额数列_第1张图片


但是当n很大的时候,怎么求解A的n次方?


斐波那契额数列_第2张图片

你可能感兴趣的:(斐波那契额数列)