
文章插圖
1、普通遞歸實(shí)現(xiàn) , 根據(jù)遞歸的通用公式fact(n) = n * fact(n-1)很容易寫出階乘的計(jì)算代碼 。
普通遞歸實(shí)現(xiàn)的優(yōu)點(diǎn)在于代碼比較簡潔 , 和通用公式一樣的過程使得代碼容易理解 。缺點(diǎn)則在于由于需要頻繁地調(diào)用自身 , 需要大量的入棧出棧操作 , 整體的計(jì)算效率不高 。
function fact(int $n): int{if ($n == 0) {return 1;}return $n * fact($n - 1);}2、普通循環(huán)實(shí)現(xiàn) , 有些動(dòng)態(tài)規(guī)劃的味道 , 但由于中間態(tài)變量使用頻率低 , 不需要額外存儲(chǔ)空間 。
所以要比一般的動(dòng)態(tài)規(guī)劃算法簡單 。普通遞歸方法是自頂向下(由 n 到 1)的計(jì)算過程 , 而普通循環(huán)是自底向上進(jìn)行計(jì)算 。
function fact(int $n): int{$result = 1;$num = 1;while ($num <= $n) {$result = $result * $num;$num = $num + 1;}return $result;}以上就是php中n階乘的實(shí)現(xiàn)方法 , 希望對(duì)大家有所幫助 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助:- hash加密算法有哪些 php Mhash算法的加密
- php垃圾收集機(jī)制怎么樣的 php引用計(jì)數(shù)如何實(shí)現(xiàn)垃圾回收
- php require和include區(qū)別 php中require和include如何區(qū)分
- cookie加密方式 php中如何配置Cookie加密
- php 消息隊(duì)列 php消息隊(duì)列的介紹
- php zval PHP中Zval是什么
- php中Suhosin是什么
- php圖片顯示不出來 php不能生成圖片的解決辦法
- php斷點(diǎn)調(diào)試 php方法斷點(diǎn)如何實(shí)現(xiàn)
- php運(yùn)行模式有哪幾種 php常見運(yùn)行模式詳解
