NWD: wersja z odejmowaniem

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

Największy wspólny dzielnik w wersji samego Euklidesa: dopóki liczby są różne, od większej odejmujemy mniejszą. Gdy się zrównają, to jest NWD. Licznik `steps` pokazuje, ile obrotów pętli to kosztowało. Dla 1000 i 3 kroków jest bardzo dużo, bo trójkę odejmujemy setki razy.

function gcdSub(a, b) {
  let steps = 0;
  while (a !== b) {
    if (a > b) a -= b;
    else b -= a;
    steps++;
  }
  return [a, steps];
}

console.log('NWD(48, 18) =', ...gcdSub(48, 18));
console.log('NWD(1000, 3) =', ...gcdSub(1000, 3));

Ł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.