[英]Finding the factorial using a loop in javascript
我需要使用循环来查找给定数字的阶乘。 显然,我在下面编写的内容将行不通,因为当i = inputNumber
,方程将等于0。
如何停止到达inputNumber?
var inputNumber = prompt('Please enter an integer');
var total = 1;
for (i = 0; i <= inputNumber; i++){
total = total * (inputNumber - i);
}
console.log(inputNumber + '! = ' + total);
这是一个错误i <= inputNumber
应该是i < inputNumber
var inputNumber = prompt('Please enter an integer'); var total = 1; for (i = 0; i < inputNumber; i++){ total = total * (inputNumber - i); } console.log(inputNumber + '! = ' + total);
您可以保留以下内容: i <= inputNumber
并进行此更改: total = total * i;
那么代码片段将如下所示:
var inputNumber = prompt('Please enter an integer');
var total = 1;
for (i = 1; i <= inputNumber; ++i){
total = total * i;
}
console.log(inputNumber + '! = ' + total);
var inputNumber = prompt('Please enter an integer');
var total = 1;
for (i = 0; i < inputNumber; i++){
total = total * (inputNumber - i);
}
alert(inputNumber + '! = ' + total);
使用总计* = i; 无需额外的代码即可设置所有阶乘数学。 另外,对于适当的阶乘,您希望从输入数字开始倒数而不是增加。 这将很好地工作:
var inputNum = prompt("please enter and integer");
var total = 1;
for(i = inputNum; i > 1; i--){
total *= i;
}
console.log(total);
function factorialize(num) { var result = num; if(num ===0 || num===1){ return 1; } while(num > 1){ num--; result =num*result; } return result; } factorialize(5);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.