php - 寻找下一个斐波那契数

标签 php fibonacci

我需要找到一个给定整数 N 的(下一个)斐波那契数。假设我有 n = 13,我需要输出下一个斐波那契数,即 21,但我该怎么做呢?我怎样才能找到以前加起来形成它的数字?

我的意思是我可以很容易地想出一个返回斐波那契数列的 for/while 循环,但是我如何通过给定前一个数字来找到下一个数字。

<?php

$n = 13;

while($n < 1000) {

    $n = $x + $y; 
    echo($n."<br />"); 
    $x = $y;
    $y = $n;
}
?>

最佳答案

您可以使用 Binet's Formula :

          n          -n
F(n) = phi   - (-phi)
       ---------------
          sqrt(5)

其中 phi 是黄金比例 (( 1 + sqrt(5) )/2) ~= 1.61803...

这让您可以准确地确定序列的第 n 项。

关于php - 寻找下一个斐波那契数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24267939/

相关文章:

php - 无法显示有关用户的详细信息(codeigniter)

php - 允许将视频嵌入评论/文本中

php - xhprof/xhgui : xhgui - document to insert contains invalid key: keys cannot contain "."

c - 调试 C 程序以求 400 万以下斐波那契数列的所有偶数项之和

php - Laravel View 渲染问题

php - MySQL 结果数组的最后一行分成奇怪的数组

c - 为什么使用第三个变量比加法技巧更快?

algorithm - 平铺盒的重复性问题

java - 当我使用 computeIfAbsent 计算斐波那契数时,hashmap size() 返回不正确的值

haskell - 部分应用与模式匹配 : why do these Haskell functions behave differently?