斐波那契数列的形式:
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、分治策略
但是当n很大的时候,怎么求解A的n次方?