原先总以为Fibonacci只能以快速矩阵幂和循环节求出,但随着学习的深入才知道,原来Fibonacci是属于数论类,而且可以用公式直接算出,而无需一下瞎推和暴力。
FIBONACCI 公式:
这个数列是意大利中世纪数学家斐波那契在<;算盘全书>;中提出的,这个级数的通项公式,除了具有 a(n+2) =an+a(n+1)的性质外,还可以证明通项公式为:an=(1/√5)*{[(1+√5)/2]^n-[(1-√5)/2]^n}(n=1,2,3.....) `````
log(Fibonacci[n])=[(-0.5*log(5.0))+((double)n)*log(sqrt(5.0)+1.0)/2.0]/log(10.0);
或者 fib=-0.5*log(5.0)/log(10.0)+((double)n)*log(g)/log(10.0)
Fibobacci[n]~~pow(10.0,log(Fibonacci[n]))*10^k;(这里~~表示约等于,10^k表示需取多少位,用k控制)
或者
double k=fib-floor(fib);
double ans=pow(10.0,k);
while(ans<1000)ans*=10;
HDU
本文详细介绍了Fibonacci数列的性质,特别突出了其通项公式,并提供了多种高效计算该数列元素的方法,包括直接使用公式、利用对数运算等技巧。此外,文章还探讨了Fibonacci数列在计算机科学中的应用及其实现细节。
460

被折叠的 条评论
为什么被折叠?



