Hot For Coding
PHP实现斐波那契数列

先看百科的解释

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列: 1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域, 斐波纳契数列都有直接的应用,为此,美国数学会从1963年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果

通俗得说也就是该数列从第三项开始每一项都是前两项之和,实现这个算法特别容易

$arr[0] = 0;
$arr[1] = 1;
for($i = 2; $i < 10; $i++){
  $arr[$i] = $arr[$i-1] + $arr[$i-2];
}
echo join(",", $arr);

也可以封装成函数

function fbnc($idx) {
  // 1 1 2 3 5 8 13 21 34
  if ($idx < 0) {
    return -1;
  }

  if ($idx === 0 || $idx === 1) {
    return 1;
  }

  return fbnc($idx - 1) + fbnc($idx - 2);
}

echo fbnc(8);   // Output: 34

TITLE: PHP实现斐波那契数列

LINK: https://www.qttc.net/44_php_fibonacci.html

NOTE: 转载内容请注明出处