返回JavaScript中的阶乘
我试图创建一个脚本,作为质询的一部分返回输入数字的阶乘。当我尝试运行它时,它返回正确的阶乘,但显然我做得不对 看起来是这样的:返回JavaScript中的阶乘,javascript,factorial,Javascript,Factorial,我试图创建一个脚本,作为质询的一部分返回输入数字的阶乘。当我尝试运行它时,它返回正确的阶乘,但显然我做得不对 看起来是这样的: function FirstFactorial(num) { if (num > 1) { var x = num; for (var i = 1; i < x; i++) { num = num * i; } } else if (num === 1) { return 1; } else {
function FirstFactorial(num) {
if (num > 1) {
var x = num;
for (var i = 1; i < x; i++) {
num = num * i;
}
} else if (num === 1) {
return 1;
} else {
console.log("That's not a number!");
}
return num;
}
函数FirstFactorial(num){
如果(num>1){
var x=num;
对于(变量i=1;ifunction FirstFactorial(num) {
if (num < 0) {
num = 0;
console.log("You have to input a number!");
}
if (num === 0) {
return 1;
}
return num * FirstFactorial(num - 1);
}
函数FirstFactorial(num){
if(num<0){
num=0;
log(“您必须输入一个数字!”);
}
如果(num==0){
返回1;
}
返回num*FirstFactorial(num-1);
}
最可能的原因是,他们期望并打算让您使用递归(一种调用自身的函数) 如果您考虑阶乘,每个阶乘都建立在前一个阶乘的结果之上,这是使用递归的典型情况
(请注意,我并没有发布递归代码,因为这里的重点大概是让您找出如何实现它。)您说它是可行的,但“我不知怎么做错了”。。。“告诉我们更多?”但显然我不知怎么做错了。“这意味着什么?”寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误,以及在问题本身中重现这些问题所需的最短代码。没有明确问题说明的问题对其他读者没有帮助。“我正在使用的网站(coderbyte.com)告诉我,我没有正确完成任务。。。我和你一样困惑。@SashiKant:如果OP没有使用
x
,下面的循环永远不会结束。