繁体   English   中英

Javascript函数计算整数的阶乘

[英]Javascript function to compute factorial of integer number

我想对整数的计算机阶乘有函数。 我创建了带有循环的函数,然后调用该函数以传递数字并获得结果。 尽管所有变量都正确声明,但结果不确定。

 <script> var userInput; var num; var i =1; var fact; function myFactor (num){ fact = num * i; for (i; i <= num; i++) { fact = fact * i; return fact; } } var result = myFactor(fact); userInput = prompt("Enter Value:",""); num = parseInt (userInput); document.write(result); </script> 

有许多代码可以实现此目的,但是我想了解为什么我的代码无法正常工作。

您忘记了返回前后的右括号,并用用户给定的数字调用了该函数,并且一次迭代太多。

var userInput;
var num;
var i =1;
var fact;

function myFactor (num){    
  fact = num * i;
  for (i; i < num; i++) {
    fact = fact * i;
  }
  return fact
}

var result;
userInput = prompt("Enter Value:","");  
num = parseInt (userInput);         
result = myFactor(num);
document.write(result);

现在应该工作。 顺便说一句:函数计算阶乘,因式分解有所不同。 哎呀,又来不及了。

尝试:

var userInput;
var num;

var fact;

function myFactor(num) {

    var i = 1;
    fact = num * i;

    for (i; i <= num; i++) {
        fact = fact * i;

        return fact;
    }
}
userInput = prompt("Enter Value:", "");
num = parseInt(userInput);
var result = myFactor(num);

alert(result);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM