Я использую эту функцию JavaScript для определения НОД двух значений, полученные из полей ввода:Итерация НОД в JavaScript
Math.GCD = function(first,second) {
if (first < 0) first = -first;
if (second < 0) second = -second;
if (second > first) {var temp = first; first = second; second = temp;}
while (true) {
first %= second;
if (first == 0) return second;
second %= first;
if (second == 0) return first;
}
};
Я хотел бы расширить это, чтобы вычислить НОД трех чисел, если пользователь вводит число в третье поле ввода (в противном случае пользователь вводит два и вычисляет в соответствии с этой функцией). Будучи относительно новым для JavaScript, я не уверен, как расширить эту функцию для трех значений. Может ли кто-нибудь помочь?
Fiddle: https://jsfiddle.net/tjj7won4/1/
Кроме того, я хотел бы, чтобы определить LCM в Аналогичным образом, как это наблюдалось в скрипку, но, опять же, я не уверен, как расширить данную функцию. Пожалуйста помоги.
Я изменил скрипку включать входы пользователей и кнопку вычисления, но я не могу понять, как исключить третий вход, должен пользователь оставляет его пустым. Я попытался использовать оператор 'if-else' с' numbers.length', но это был бюст (по крайней мере, я не могу заставить его работать). Вот обновленная скрипка: https://jsfiddle.net/tjj7won4/13/ – newbie2015
@ newbie2015 Если вы хотите дать пользователю только частичный ввод, просто добавьте contidion перед вызовом 'twogcd':' if (numbers [i] || numbers [i] === 0) numbers [0] = twogcd (числа [0], числа [i]); '. В следующий раз, пожалуйста, задайте другой вопрос. – remdevtec
Извинения. Кроме того, это не работает! Сценарий сработает. https://jsfiddle.net/tjj7won4/23/ – newbie2015