NWD rekurencyjnie i NWW

Algorytmy z egzaminu różnymi sposobami - JavaScript od podstaw: konsola (JavaScript)

Trzecia wersja zapisuje tę samą myśl rekurencyjnie: NWD(a, 0) = a, a w przeciwnym razie NWD(a, b) = NWD(b, a % b). Funkcja wywołuje samą siebie z mniejszymi liczbami, aż dojdzie do przypadku bazowego. Przy okazji najmniejsza wspólna wielokrotność: NWW(a, b) = a * b / NWD(a, b).

function gcd(a, b) {
  if (b === 0) return a;
  return gcd(b, a % b);
}

function lcm(a, b) {
  return (a * b) / gcd(a, b);
}

console.log('NWD(48, 18) =', gcd(48, 18));
console.log('NWD(1000, 3) =', gcd(1000, 3));
console.log('NWW(4, 6) =', lcm(4, 6));
console.log('NWW(12, 18) =', lcm(12, 18));

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu JavaScript od podstaw: konsola·Zaloguj się, aby zapisać postęp na koncie.