因子分解问题的代码给出了“潜在的无限循环”错误。
function factorialize(num) {
for (var i = 1; i < num; i++) {
num *= (num - i);
}
return num;
}
请尽可能帮我解释一下。
答案 0 :(得分:1)
我对这个因子分解问题的潜在解决方案给出了“潜力 无限循环“bug。请尽可能帮我解释一下。
因为您增加了num
的价值,i
在这种情况下永远不会大于或等于num
。
初始化一个新变量
function factorialize(num) {
var result = 1;
for (var i = 1; i <= num; i++) {
result *= (i);
}
return result;
}
<强>演示强>
function factorialize(num) {
var result = 1;
for (var i = 1; i <= num; i++) {
result *= (i);
}
return result;
}
console.log(factorialize(3));
console.log(factorialize(4));
console.log(factorialize(5));