编写一个js函数用来求n的阶乘

 我来答
lyz810
2015-11-04 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31780
前端开发工程师

向TA提问 私信TA
展开全部
function factorial(n){
    return n > 1 ? n * factorial(n-1) : 1;
}
factorial(5);//120

以上函数可以求简单的n的阶乘

由于使用的是原生的乘法,所以计算范围有限

主要使用了递归的方式进行计算,是求阶乘的常用方法之一

百度网友ad45923b8
2015-01-06 · 知道合伙人软件行家
百度网友ad45923b8
知道合伙人软件行家
采纳数:262 获赞数:386
从事IT互联网行业16年,经验丰富,擅长ASP、HTML、Javascript,Css,JQuery,PHP,PS,FL,AI,E,服务器等

向TA提问 私信TA
展开全部
<script type="text/javascript">
n = 1; 

x = 4;阶乘等级

s = 1; //结果

for(i=1;i<=x;i++){
    s = s * i;
}


</script>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圣鸾OJ
2015-10-07 · TA获得超过1629个赞
知道小有建树答主
回答量:1136
采纳率:96%
帮助的人:125万
展开全部
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

function product(array) {
if(array instanceof Array) {
var len = array.length;
var result = len > 0 ? 1 : null;
for(var i = 0; i < len; i++) {
result *= array[i];
}
return result;
}
return null;
}
function factorial(<a href="https://www.baidu.com/s?wd=num&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4mW7-uhc3rj--nHKBuyc10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DLPHf4nWc4PHDdnjD3rH6znW6" target="_blank" class="baidu-highlight">num</a>) {
var result = <a href="https://www.baidu.com/s?wd=num&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4mW7-uhc3rj--nHKBuyc10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DLPHf4nWc4PHDdnjD3rH6znW6" target="_blank" class="baidu-highlight">num</a> > 0 ? 1 : 0;
while(<a href="https://www.baidu.com/s?wd=num&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4mW7-uhc3rj--nHKBuyc10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DLPHf4nWc4PHDdnjD3rH6znW6" target="_blank" class="baidu-highlight">num</a> > 0) {
result *= num;
num--;
}
return result;
}
var result1 = product([1,2,3,4,5]);
var result2 = factorial(5);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7f357a1
2019-07-21
知道答主
回答量:2
采纳率:0%
帮助的人:1846
展开全部
<!DOCTYPE html>

<html>

 <head>

  <meta charset="utf-8">

  <title></title>

  <script type="text/javascript">

  window.onload = function(){

   var oBtn = document.getElementById("but");

   var Txt1 = document.getElementById("txt1");

   var Txt2 = document.getElementById("txt2");

   oBtn.onclick = function(){

    n = Txt1.value;

    function factorial(n){

     if(n < 2){

      return 1;

     }

     return n * factorial(n - 1);

    }

    Txt2.value = factorial(n);

   }

  }

  </script>

 </head>

 <body>

  <input type="text" name="" id="txt1" value="" />

  <input type="button" name="" id="but" value="阶乘" />

  <input type="text" name="" id="txt2" value="" />

 </body>

</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友21735d9
2019-02-13
知道答主
回答量:5
采纳率:0%
帮助的人:3936
展开全部
比较好懂的
var n=0,
var otpt
function compute(n){
otpt=1
for(i=n;i>0;i--)
{
otpt*=i;
}
retern otpt()
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式