如何在JavaScript中获取数字的阶乘

How to get Factorial of number in JavaScript?

本文关键字:数字 阶乘 获取 JavaScript      更新时间:2023-09-26

我正在学习Java Script,有一个关于获取用户输入的数字的阶乘的练习,但出于某种原因,我总是得到的答案是=1

这是我的代码:

<SCRIPT>
function factorial(num){
    for (n=1; n<=num; n++){
    return fact*n;
    }
}
var myNum, fact;
myNum = parseFloat(window.prompt('Enter positive integer : ',''));
fact = 1;
document.write('the factorial of the number is = '+ factorial(myNum));

</SCRIPT>

图片中的代码(请包括未来实际的代码,而不是代码的屏幕截图)立即返回fact:

for ( n = 1; n <= num; n++ ) {
  return fact * n;
}

因为CCD_ 2在CCD_。

想要的是在函数中包含fact,并在循环进行时将其相乘,然后返回:

function factorial(n) {
  var fact = 1;
  for ( n = 2; n <= num; n++ ) {
    fact = fact * n;
  }
  return fact;
}

返回1的原因是,在上面的循环中,您在第一次迭代时返回值,因此n永远不会大于1。