【发布时间】:2021-03-08 09:22:20
【问题描述】:
我有一个简单的 PHP 函数,它按索引返回斐波那契数,它可以工作:
function fibIndexCalculator($index)
{
$numbers = [0, 1];
for ($i = 0; $i < $index; $i++) {
$lastNumbers = array_slice($numbers, count($numbers) - 2, 2);
$numbers[] = $lastNumbers[0] + $lastNumbers[1];
}
return end($numbers);
}
var_dump(fibIndexCalculator(4));
但是如果我给函数一个像 200000 这样的索引,那么只有在 1 小时后我才能看到结果。
有没有什么方法可以改变算法以快速获取大索引的斐波那契数?
【问题讨论】:
-
你可以写一个公式来计算数字而不是循环keisan.casio.com/exec/system/1180573404