javascript怎麼求13階乘

青灯夜游
發布: 2022-11-15 18:22:21
原創
2368 人瀏覽過

方法:1、利用for循環,語法「var cj=1;for(var i=1;i1?n*fac(n-1):1}」。

javascript怎麼求13階乘

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

階乘是基斯頓·卡曼(Christian Kramp,1760~1826)於 1808 年發明的運算符號,是數學術語。

一個正整數的階乘(factorial)是所有小於及等於該數的正整數的積,並且0的階乘為1。自然數n的階乘寫作n!。 1808年,基斯頓‧卡曼引進這個表示法。

亦即n!=1×2×3×...×(n-1)×n。階乘也可以遞歸方式定義:0!=1n!=(n-1)!×n

javascript中支援多種方法來實現階乘,下面一起來看看。

方法1:利用for迴圈來實現

想要求13的階乘,就需要遍歷1~13的數字,因此for迴圈的初始條件可設定為i = 1,限制條件可以是 i 

for (var i = 1; i <= 13; i++) {
}
登入後複製

然後在迴圈體「{}」中,將每次循環的i值相乘。這就需要一個中間量cj來存乘積,變數cj的初始值要為1,這樣才不會影響結果。有兩種寫法(任一就行):

cj *= i;
//或
cj = cj * i;
登入後複製

等迴圈結束後,變數cj的值就13的階乘,輸出即可。

下面給出完整實作程式碼:

var cj = 1;
for (var i = 1; i <= 13; i++) {
    cj *= i;
}
console.log( "13的阶乘为: " + cj);
登入後複製

javascript怎麼求13階乘

#方法2:利用遞迴函數來實作

function fac(num) {
    if (num <= 1) {
        return 1;
    } else {
        // 闭包 
        return num * fac(--num); //方法一 
        //return num*fac(num-1); //方法二 
        // return num*arguments.callee(num-1);//方法三 
        // return num*arguments.callee(--num);//方法四 
        /*但在严格模式下不能通过脚本访问arguments.callee*/
    }
}
var result = fac(13);
console.log( "13的阶乘为: " + result);
登入後複製

javascript怎麼求13階乘

方法3:利用三元運算子

function fac(n) {
    return n > 1 ? n * fac(n - 1) : 1
}
console.log(&#39;2的阶乘为:&#39;, fac(2))
console.log(&#39;3的阶乘为:&#39;, fac(3))
console.log(&#39;4的阶乘为:&#39;, fac(4))
console.log(&#39;13的阶乘为:&#39;, fac(13))
登入後複製

javascript怎麼求13階乘

【推薦學習:javascript進階教程

以上是javascript怎麼求13階乘的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板