首页 > Web开发 > 详细

PHP实现斐波那契数列(递归 + 非递归)实现

时间:2020-05-10 12:36:31      阅读:50      评论:0      收藏:0      [点我收藏+]

非递归写法:
function fbnq($n){ //传入数列中数字的个数
    if($n <= 0){
        return 0;
    }
    $array[1] = $array[2] = 1; //设第一个值和第二个值为1
    for($i=3;$i<=$n;$i++){ //从第三个值开始
        $array[$i] = $array[$i-1] + $array[$i-2];
    //后面的值都是当前值的前一个值加上前两个值的和
    }
    return $array;
}

function f2($n){

    $num1 $num2 $temp = 1;
    for($i=2;$i<$n;$i++){
//1 1 2 3 5 8 13 ....
        $temp $num1 $num2;  //$temp = 2
        $num1 $num2;          //$num1 = 1
        $num2 $temp;          //$num2 = 2
    }
    return $temp;
}
 

递归写法:
function fbnq($n){
    if($n <= 0) return 0;
    if($n == 1 || $n == 2) return 1;
    return fbnq($n - 1) + fbnq($n - 2);
}

PHP实现斐波那契数列(递归 + 非递归)实现

原文:https://www.cnblogs.com/timor0101/p/12862529.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!