菲波那切數列 php

header('content-type:text/html;charset=utf-8');
//菲波那切數列 1,1,2,3,5,8,13,,,

/**迭代方式實現菲波那切數列
 * [feibo description]
 * @param  [type] $num [description]
 * @return [type]      [description]
 */
echo "迭代方式實現菲波那切數列";
echo "<br/>";
function feibo($num)
{
    if ($num<1) {
        return -1;
    }
    $arr[0]=1;
    $arr[1]=1;
    for ($i=2; $i <=$num ; $i++) {
        $arr[$i]=$arr[$i-1]+$arr[$i-2];
    }
    
    return $arr;
}
echo implode(',', feibo(20));
echo "<hr/>";

/**遞歸方式實現菲波那切數列
 * [diegui description]
 * @return [type] [description]
 */
echo "遞歸方式實現菲波那切數列";
echo "<br/>";
function diegui($num)
{
    if ($num<1) {
        return -1;
    }
    if ($num==1||$num==2) {
        return 1;
    }
    return diegui($num-1)+diegui($num-2);
}
$diegui ='';
for ($i=1; $i <=10 ; $i++)
{
        $diegui.=diegui($i).',';
}
echo $diegui;
 ?>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章