Запросить 2 числа и найти НОД на js

Хотел узнать, на сколько верно мое решение? Заранее спасибо!

/*Запросить 2 числа и найти только наибольший общий делитель.*/
alert('Введите 2 число, что бы найти НОД')
let numb1 = prompt('Введите первое число');
let numb2 = prompt('Введите второе число');
let numb3;


calc(numb1, numb2)
alert('НОД чисел ' + numb1 + ' и ' + numb2 + ' будет: ' + numb3)

function calc(a, b) {
  let c;
  while (a != b) {
    if (a > b) {
      a = a - b;

    } else
    if (a < b) {
      c = a;
      a = b;
      b = c;
    }

  }
  return numb3 = a
}


Ответы (1 шт):

Автор решения: Александр Рогонов

Ну можно посимпатичнее, вот так

/*Запросить 2 числа и найти только наибольший общий делитель.*/

const nod = (n, m) => {
  if (m !== 0) {
    const k = n % m;
    return nod(m, k);
  }
  return n;
};

alert('Введите 2 число, что бы найти НОД')
let numb1 = prompt('Введите первое число');
let numb2 = prompt('Введите второе число');
alert('НОД чисел ' + numb1 + ' и ' + numb2 + ' будет: ' + nod(numb1, numb2));

→ Ссылка