使用黄金分割比值计算斐波那契数列
这个算法的理论基础:f(n)/f(n-1)收敛于1.618
生成前10个斐波那契数列项
参考链接:https://www.mathsisfun.com/numbers/fibonacci-sequence.html
static int FastFabonaci(int n){
// based on the fact that : a[n]/a[n]-1 subject to 1.618
var sqrtOfFive = Math.Sqrt(5);
var a = (sqrtOfFive+1)/2;
var b = (1-sqrtOfFive)/2;
return (int)((Math.Pow(a,n) - Math.Pow(b,n))/sqrtOfFive);
}
生成前10个斐波那契数列项
for (var i = 0;i < 100; i++){
Console.WriteLine(FastFabonaci(i+1));
}
参考链接:https://www.mathsisfun.com/numbers/fibonacci-sequence.html