详解PHP如何实现斐波那契数列的简单实例
文章来自:有解网 http://www.youjieweb.com/original/index/articleId/64.html
使用场景: 面试
本文讲的是如何用php实现PHP实现斐波那契数列,有人看到这个标题估计就有点不赖烦了,因为一个工作数年的php程序员可能都没有遇到过实现斐波那契数列的需求。然而,如果你的面试经历比较频繁,那么你很可能遇到过用php实现斐波那契 数列的面试题,而面试的质量往往直接决定公司给你开的工资。另外,你还可以在小白面前强势秀上一波。
要实现斐波那契数列,首先要知道斐波那契数列是什么
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
代码实例
方法1:实现输出斐波那契数列第n个元素
方法2:生成有个元素的斐波那契数列
方法3:求有n个元素的斐波那契数列的所有元素的和
/** * 方法1 * 求值:输出菲波那切数列第$n个元素 * @param $n * @return int */ function numb($n){ $a=0; $b=1; for($i=0;$i<$n-1;$i++){ $bo=$b; $b=$a+$b; $a=$bo; } return $b; } echo numb(6);//输出:8 /** * 方法2 * 求值:生成有n个元素的斐波那契数列 * @param $n * @return int */ function fibonacci($n){ $numbers=[]; for($i=1;$i<$n+1;$i++){ $numbers[]= numb($i); } return implode(',',$numbers); } echo fibonacci(10);//输出:1,1,2,3,5,8,13,21,34,55 /** * 方法3 * 求和:求有$n个元素的菲波那切数列的所有元素的和 * @param $n * @return int */ function total($n){ $a=0; $b=1; $t=0; for($i=0;$i<$n;$i++){ $t=$t+$b; $bo=$b; $b=$a+$b; $a=$bo; } return $t; }