为什么此循环在中途终止?
问题描述:
我正在尝试编写一个程序来查找所提供的参数的最小公倍数,这些参数可以被这两个参数之间的范围内的所有连续数字均分。为什么此循环在中途终止?
范围将是一个两个数字的数组,不一定按数字顺序排列。
例如,对于图1和3 - 找到既1和3是由1和3
为什么在i中的循环停止= 510000(或之间的所有数字整除的最小公倍接近于此)而不是700万,就像我设定的那样?
我也有输出截图:
function smallestCommons(arr) {
var start;
var finish;
var something;
if(arr[0] < arr[1]){start = arr[0]; finish = arr[1];}else{
start = arr[1]; finish = arr[0];
}
for(var i = finish;i <= 7000000;i++){
var boolea = true;
for(var j = start;j <= finish;j++){
if(i % j !== 0){boolea = false;break;} // 2 % 1
}
if(boolea)return i;
something = i;
}
console.log("final i = " + i);
return 0;
}
也许浏览器内存不足。 – Valay
你的调试器告诉你什么? –
请尝试https://jsbin.com/blog/protection#loopprotection以检查jsbin是否不强制您的代码退出循环 –