首先看看斐波那契数列的结构吧
斐波那契数列(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*)
观察此规律,对于代码的实现,我们可以采用递归来完成
代码实现如下:
<?php /** * Created by PhpStorm. * User: sha * 斐波那契数列的简单实现 * $idx:数列的下标索引,从0开始计 */ function fbnc($idx){ // 1 1 2 3 5 8 13 21 34 //f(0) = 1 f(1)= 1 f(n) = f(n-1)+f(n-2) if($idx < 0){ return -1; } if($idx === 0 || $idx === 1){ return 1; } return fbnc($idx - 1) + fbnc($idx - 2); } echo fbnc(8); //结果验证 34
本文介绍了斐波那契数列的基本概念及其数学定义,并通过PHP代码实现了递归求解斐波那契数列中指定位置的数值。

被折叠的 条评论
为什么被折叠?



