php如何實現菲波那切數列

2020-07-16 10:06:28

php實現斐波那契數列

斐波那契數列:
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);
}
以上就是php如何實現菲波那切數列的詳細內容,更多請關注TW511.COM其它相關文章!