当尝试下面的代码作为Euler Project问题5的解决方案时,问题是找到最小的数字,该数字可被1到20的所有数字均等。每次运行时,它都会显示“无响应脚本”窗口,我需要实际操作停止脚本运行。似乎是某种原因导致其挂起,但我不太清楚是什么原因。警报窗口似乎指向while()开始的行的错误,但我看不到任何错误,如果看起来应该可以工作,我会很感激任何人在他们的机器上尝试看看是否能解决问题作品。这样,我可以消除它作为一个局部问题。欢迎所有建议。
var divisible = false;
var n = 2520; // first number divisible by all numbers 1-10
while(divisible === false){ // something wrong here??
n += 2520;
for(var i = 11; i < n; i++) {
if(i % n !== 0){
break;
}
if(i === 20) {
divisible === true;
}
}
}
if(divisible === true){
return console.log("Answer: " +i);
}
最佳答案
因为如果for
第一次不为0,则会中断i % n
循环。而且您永远不会将divisible
设置为true
-divisible === true
与divisible = true
不同
关于javascript - 为什么以下JavaScript会导致脚本无响应错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31483345/