Algorytm Euklidesa

Tw. o dzieleniu z resztą
Dla dowolnych liczb całkowitych $a$ i $b$, $b\neq 0$ istnieje dokładnie jedna para liczb całkowitych $q, r$ taka, że $$a=qb+r.$$ Liczbę $0\leq r < |b|$ nazywamy resztą z dzielenia liczby $a$ przez $b$.
Przykład
$a=26, b=11$. Wtedy stwierdzamy, że $q=2$ oraz $r=4$, bo
$26=2 \cdot 11 + 4$
Uwaga
Jeśli $r=0$ to mówimy, że $b$ dzieli $a$ (lub $a$ jest podzielna przez $b$), co oznaczamy $b \mid a$.
Przykłady
$12\mid 24$, bo $24=2\cdot 12+0$ (czytamy 12 dzieli 24)
$2\mid 4$, bo $4=2\cdot 2+0$ (czytamy 2 dzieli 4)
ale $3\not\mid 5$, bo $5=2\cdot 2 +1$ (czytamy 3 nie dzieli 5)

Algorytm Euklidesa

Dla dowolnych liczb całkowitych $a$ i $b$ na mocy Tw. o dzieleniu z resztą mamy
$$a=q_{1}b+r_{1}, 0< r_{1}< |b|$$ $$b=q_{2}r_{1}+r_{2}, 0< r_{2}< |r_{1}|$$ $$r_{1}= q_{3}r_{2} +r_{3}, 0< r_{3}< |r_{2}|$$ $$\vdots$$ $$r_{n-2}= q_{n}r_{n-1}+r_{n}, 0< r_{n} < |r_{n-1}|$$ $$r_{n-1}= q_{n+1}r_{n}$$ Wówczas $r_{n}=NWD(a, b)$ (ostatnia niezerowa reszta).
Dowód
oznaczmy $d = NWD(a, b)$
Algorytm zawsze się zatrzymuje, bo w każdym kroku otrzymujemy liczbę (resztę) co najmniej o 1 mniejszą od poprzednej, więc kiedyś dojdziemy do zera. Z ostatniej równości $$r_{n-1}= q_{n+1}r_{n}$$ widzimy, że $r_{n}\mid r_{n-1}$. Z pozostałych równości wynika $r_{n} \mid r_{n-2}, …, r_{n} \mid r_{1}$ zatem
$r_{n} \mid a, r_{n} \mid b$ (ostatnia niezerowa reszta jest wspólnym dzielnikiem liczb $a$ i $b$) , a więc w szczególności $r_{n}\mid d$.
Z drugiej strony $d \mid a$ i $d \mid b$, a więc patrząc na pierwszą równość $a=q_{1}b+r_{1}$ stwierdzamy, że $d \mid r_{1}$. Dalej kolejno $d \mid r_{2}, …, d \mid r_{n-1}, d \mid r_{n}$.
Ponieważ $r_{n} \mid d$ i jednocześnie $d \mid r_{n}$, więc $d = r_{n}$.
Dzielimy z resztą większą z dwóch liczb przez mniejszą dopóki obie są różne od zera. Ostatnia niezerowa reszta, to szukane NWD.
Przykład
Obliczyć NWD(72, 56)
$$72 = 1\cdot 56 + 16$$ $$56= 3\cdot 16 + 8$$ $$16= 2\cdot 8 + 0$$ Widzimy, że ostatnią niezerową resztą jest 8.
Zatem NWD(72, 56)=8.
Zaletą algorytmu Euklidesa jest to, że nie musimy liczby rozkładać na czynniki pierwsze, aby obliczyć ich NWD.
Oblicz NWD(128,54)
Wykonujemy kolejno (mniejszą z dwóch liczb przepisujemy, a druga to dzielenie z resztą )
12854
2054
2014
614
62
02stop

Ostatnią niezerową resztą jest 2, zatem NWD(128, 54)=2
Przykład
Oblicz NWW(12, 32, 514).
Rozwiązanie
Korzystamy z własnoœści $NWW(12, 32, 514) = NWW(NWW(12,32), 514)$
czyli obliczamy najpierw $NWD(12,32)$ korzystając z algorytmu Euklidesa
1232
128
48
40

czyli $NWD(12, 32) = 4$, dalej korzystamy ze wzoru $a\cdot b = NWW(a, b)\cdot NWD(a, b)$ $$NWW(12, 32) = 12:4\cdot 32=96$$ czyli
$NWW(12, 32, 514) = NWW(96, 514)$ Obliczamy $NWD(90, 514)$ za pomocą algorytmu Euklidesa.
96514
9634
2834
286
46
42
02

czyli $NWD(96, 514)=2$, dalej $NWW(96, 514)=96:2\cdot 514 = 48\cdot 514 = 25632$
Odp.
$NWW(12, 32, 514) = 25632$.

powrót do spisu