您好,登錄后才能下訂單哦!
這篇文章主要講解了“javascript如何求13階乘”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“javascript如何求13階乘”吧!
方法:1、利用for循環,語法“var cj=1;for(var i=1;i<=13;i++){cj *= i;}”;2、利用遞歸函數,語法“function fac(n){if(n <= 1){return 1;}else{return n*fac(--n);}}”;3、利用三元運算符,語法“function fac(n){return n>1?n*fac(n-1):1}”。
階乘是基斯頓·卡曼(Christian Kramp,1760~1826)于 1808 年發明的運算符號,是數學術語。
一個正整數的階乘(factorial)是所有小于及等于該數的正整數的積,并且0的階乘為1。自然數n的階乘寫作n!。1808年,基斯頓·卡曼引進這個表示法。
亦即n!=1×2×3×...×(n-1)×n
。階乘亦可以遞歸方式定義:0!=1
,n!=(n-1)!×n
。
javascript中支持多種方法來實現階乘,下面一起來看看。
方法1:利用for循環來實現
想要求13的階乘,就需要遍歷1~13的數字,因此for循環的初始條件可設置為 i = 1,限制條件可以是 i <= 13 或者 i < 14。
然后在循環體“{}”中,將每次循環的i值相乘。這就需要一個中間量cj來存乘積,變量cj的初始值要為1,這樣才不會影響結果。有兩種寫法(任選一個就行):for (var i = 1; i <= 13; i++) {
}
cj *= i;
//或
cj = cj * i;
等循環結束后,變量cj的值就13的階乘,輸出即可。
下面給出完整實現代碼:
登錄后復制var cj = 1;
for (var i = 1; i <= 13; i++) {
cj *= i;
}
console.log( "13的階乘為: " + cj);
方法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);
方法3:利用三元運算符
function fac(n) {
return n > 1 ? n * fac(n - 1) : 1
}
console.log('2的階乘為:', fac(2))
console.log('3的階乘為:', fac(3))
console.log('4的階乘為:', fac(4))
console.log('13的階乘為:', fac(13))
感謝各位的閱讀,以上就是“javascript如何求13階乘”的內容了,經過本文的學習后,相信大家對javascript如何求13階乘這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。