陈老湿

导航

详解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;
}

posted on 2018-07-27 10:42  代码老农  阅读(498)  评论(0编辑  收藏  举报