Я пытаюсь выполнить скрипт функции, которая принимает два числа и возвращает наименьший общий кратный, который также делится на все числа между этими числами, то, что у меня есть, работает только от 1,1 до 1,12, но почему-то перестает работать на 1,13. Другой набор, подобный 12,14, но я не могу понять, почему и что такое шаблон.Javascript наименее распространенный множественный алгоритм
function smallestCommons(arr) {
arr.sort(function(a, b) {
return a-b;
});
var arr1 = [];
var arr2 = [];
for (var k = arr[0]; k<=arr[1]; k++) {
arr1.push(k);
}
function remainder(val1, val2) {
return val1%val2;
}
var b = arr1.reduce(function(a, b) {
return a*b;
});
var i = arr1[arr1.length-1]*arr1[arr1.length-2];
while (i<=b) {
for (var m = 0; m<arr1.length; m++) {
var a = remainder(i, arr1[m]);
arr2.push(a);
}
var answer = arr2.reduce(function(c, d) {
return c+d;
});
if (answer === 0) {
return i;
} else {
arr2 = [];
i++;
}
}
}
Я получаю сообщение об ошибке, что есть потенциал бесконечного цикла с переменной я, когда я [1,13], но не с [1,12], я не знаю, почему ? – Keli