在 javascript 中使用循环查找阶乘
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);
var inputNumber = prompt('Please enter an integer');
var total = 1;
for (i = 0; i < inputNumber; i++){
total = total * (inputNumber - i);
}
alert(inputNumber + '! = ' + total);
您可以使用输入值和 while
statement with a prefix decrement operator --
。
var inputNumber = +prompt('Please enter an integer'),
value = inputNumber,
total = inputNumber;
while (--value) { // use value for decrement and checking
total *= value; // multiply with value and assign to value
}
console.log(inputNumber + '! = ' + total);
你可以保留这个:
i <= inputNumber
然后做这个改变:
总计=总计*i;
那么代码片段将如下所示:
var inputNumber = prompt('Please enter an integer');
var total = 1;
for (i = 1; i <= inputNumber; ++i){
total = total * i;
}
console.log(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);
我需要使用循环来查找给定数字的阶乘。显然我在下面写的内容是行不通的,因为当 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);
var inputNumber = prompt('Please enter an integer');
var total = 1;
for (i = 0; i < inputNumber; i++){
total = total * (inputNumber - i);
}
alert(inputNumber + '! = ' + total);
您可以使用输入值和 while
statement with a prefix decrement operator --
。
var inputNumber = +prompt('Please enter an integer'),
value = inputNumber,
total = inputNumber;
while (--value) { // use value for decrement and checking
total *= value; // multiply with value and assign to value
}
console.log(inputNumber + '! = ' + total);
你可以保留这个: i <= inputNumber
然后做这个改变: 总计=总计*i;
那么代码片段将如下所示:
var inputNumber = prompt('Please enter an integer');
var total = 1;
for (i = 1; i <= inputNumber; ++i){
total = total * i;
}
console.log(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);