php使用迭代和递归输出斐波那契数

引用


<?php
//n是一个正整数,函数中没加判断
$n = 10;


echo fd_dd($n),'<br/>', fd_dg($n);
//迭代方式
function fd_dd($n){
    if( $n < 3 ){
        return --$n;
    }else{
        $a=0;$b=1;$c=1;
        for($i=4;$i<=$n;$i++){
            $t = $c;
            $c = $b + $c;
            $a = $b;
            $b = $t;
        }
        return $c;
    }
}
//递归方式
function fd_dg($n){
    if( $n < 3 ){
        return --$n;
    }else{
        return fd_dg($n-1)+fd_dg($n-2);
    }
}
?>



不小心看到这个帖子的朋友希望可以指出:
1.哪里写的不好
2.这两个哪个比较有效率


作者: chengtao1633   发布时间: 2011-05-29

好惭愧,不懂。。。

作者: 侯鸿飞   发布时间: 2011-05-29

我正在学习基础,学一点发一点哈!大家一块学习呗!

作者: chengtao1633   发布时间: 2011-05-29