0%

斐波那契数列-O(1)

引自:《信息学奥赛之-数学一本通》
揍是这样:

F(n)=55[(1+5)n(15)n]\operatorname{F}(n)=\dfrac{\sqrt{5}}{5}\cdot\left[\left(1+\sqrt{5}\right)^n-\left(1-\sqrt{5}\right)^n\right]

代码揍这么简单:

1
2
3
int fibo(int n){
return (sqrt(5)/5)*(pow((1+sqrt(5))/2,n)-pow((1-sqrt(5))/2,n));
}

要是再加个快速幂就更棒了(够快了,懒得写)