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.