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

来源:互联网 发布:怎么看淘宝店铺的等级 编辑:程序博客网 时间:2024/04/29 08:20

斐波那契数列:
1 1 2 3 5 8 13 21 34 55 …

概念:
前两个值都为1,该数列从第三位开始,每一位都是当前位前两位的和
规律公式为:
Fn = F(n-1) + F(n+1)
F:指当前这个数列
n:指数列的下标

非递归写法: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 fbnq($n){    if($n <= 0) return 0;    if($n == 1 || $n == 2) return 1;    return fbnq($n - 1) + fbnq($n - 2);}
0 0
原创粉丝点击