中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中如何實現n階乘

發布時間:2021-06-04 09:15:31 來源:億速云 閱讀:194 作者:小新 欄目:編程語言

這篇文章主要介紹了php中如何實現n階乘,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1、普通遞歸實現

首先是普通遞歸實現,根據遞歸的通用公式 fact(n) = n * fact(n-1) 很容易寫出階乘的計算代碼。普通遞歸實現的優點在于代碼比較簡潔,和通用公式一樣的過程使得代碼容易理解。缺點則在于由于需要頻繁地調用自身,需要大量的入棧出棧操作,整體的計算效率不高。

function fact(int $n): int
{
    if ($n == 0) {
        return 1;
    }
    return $n * fact($n - 1);
}

2、普通循環實現

普通循環實現有些動態規劃的味道,但由于中間態變量使用頻率低,不需要額外存儲空間,所以要比一般的動態規劃算法簡單。普通遞歸方法是自頂向下(由 n 到 1)的計算過程,而普通循環是自底向上進行計算。

function fact(int $n): int
{
    $result = 1;
    $num = 1;
    while ($num <= $n) {
        $result = $result * $num;
        $num = $num + 1;
    }
    return $result;
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“php中如何實現n階乘”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

高邮市| 米林县| 潼南县| 岳西县| 长丰县| 莆田市| 花莲县| 垫江县| 新泰市| 辽宁省| 巴中市| 瑞金市| 五寨县| 始兴县| 阿坝县| 南平市| 阿克陶县| 西乌| 长子县| 平塘县| 都江堰市| 鄂尔多斯市| 达日县| 苍山县| 炉霍县| 麻江县| 武邑县| 娱乐| 西吉县| 新竹市| 志丹县| 沙坪坝区| 蓝山县| 甘南县| 新平| 萨迦县| 利川市| 宣城市| 格尔木市| 灌阳县| 西青区|