【笔记】斐波那契数列-递归&非递归-PHP实现

来源:互联网 发布:mysql被攻击 编辑:程序博客网 时间:2024/05/14 12:03

斐波那契数列


递归实现

$n = 20;echo "递归实现:";echo fibonacci($n);echo "<br/>";function fibonacci($n){    if ($n == 1)        return 1;    if ($n == 2)        return 1;    if ($n > 2)        return fibonacci($n-1) + fibonacci($n-2);}
递归实现:6765

非递归实现

$n = 20;echo "非递归实现:";echo fibonacci2($n);function fibonacci2($n){    $index = 2;    $a = 1;    $b = 1;    if ($n<1)        return -1;    if ($n==1)        return 1;    if ($n==2)        return 1;    while ($n>$index){              //这里注意是 > 不是 >=        $temp = $a + $b;        $a = $b;        $b = $temp;        $index++;    }    return $b;}

非递归实现:6765

原创粉丝点击