Mar*_*yeh 4 c algorithm fibonacci
我可以做一个递归函数来计算第n个Fibonacci项,如下所示:
int rec (int i)
{
if(i == 1 || i == 2)
return i;
else return rec(i-1)+rec(i-2);
Run Code Online (Sandbox Code Playgroud)
}
但我想使用1.618的黄金数来计算斐波那契; 但是我的尝试失败了,我错了数字:
int rec (int i)
{
if(i == 1 || i == 2)
return i;
else return 1.618*rec(i-1);
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它发挥作用?
黄金比例是一个无理数,因此您不一定希望能够将其近似值插入公式中以获得精确结果.
如果你想知道如何快速计算nth斐波纳契数,这里是一个页面,按运行时间的递减顺序列出各种方法(但按实现难度顺序增加):http://www.nayuki.io/page /快斐波纳契的算法