javascript如何求13阶乘
导读:本文共1633字符,通常情况下阅读需要5分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 方法: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 nfac(--n);}}”;3、利用... ...
目录
(为您整理了一些要点),点击可以直达。
方法: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 nfac(--n);}}”;3、利用三元运算符,语法“function fac(n){return n>1?nfac(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(vari=1;i<=13;i++){
}cj=i;
//或
cj=cji;
等循环结束后,变量cj的值就13的阶乘,输出即可。
下面给出完整实现代码:
登录后复制varcj=1;
for(vari=1;i<=13;i++){
cj=i;
}
console.log("13的阶乘为:"+cj);
方法2:利用递归函数来实现
functionfac(num){
if(num<=1){
return1;
}else{
//闭包
returnnumfac(--num);//方法一
//returnnumfac(num-1);//方法二
//returnnumarguments.callee(num-1);//方法三
//returnnumarguments.callee(--num);//方法四
/但在严格模式下不能通过脚本访问arguments.callee/
}
}
varresult=fac(13);
console.log("13的阶乘为:"+result);
方法3:利用三元运算符
functionfac(n){
returnn>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阶乘的详细内容,希望对您有所帮助,信息来源于网络。