Euklidischer Algorithmus

Euklidischer Algorithmus

Studium
ggT⁡(a,b)=ggT⁡(b, a mod b),ggT⁡(a,0)=a\operatorname{ggT}(a, b) = \operatorname{ggT}(b,\ a \bmod b), \qquad \operatorname{ggT}(a, 0) = a

Voraussetzung: a,b∈N0;a, b \in \mathbb{N}_0; b≥1b \geq 1 in der ersten, a≥1a \geq 1 in der zweiten Gleichung

a,ba, b
natürliche Zahlen, deren größter gemeinsamer Teiler gesucht ist
ggT⁡(a,b)\operatorname{ggT}(a, b)
größter gemeinsamer Teiler von a und b
a mod ba \bmod b
Rest bei der Division von a durch b, eine Zahl zwischen 0 und b−1

Der ggT zweier Zahlen ändert sich nicht, wenn man die größere durch ihren Rest bei Division durch die kleinere ersetzt.

Erklärung

Der Euklidische Algorithmus bestimmt den größten gemeinsamen Teiler zweier Zahlen, ohne sie in Primfaktoren zu zerlegen. Er beruht auf der Regel

ggT⁡(a,b)=ggT⁡(b, a mod b)\operatorname{ggT}(a, b) = \operatorname{ggT}(b,\ a \bmod b)

Grund: Ist a=q⋅b+ra = q \cdot b + r mit 0≤r<b0 \leq r < b, dann teilt jeder gemeinsame Teiler von aa und bb auch r=a−q⋅br = a - q \cdot b, und jeder gemeinsame Teiler von bb und rr teilt auch aa. Beide Paare haben also dieselben gemeinsamen Teiler.

Ablauf: Man teilt mit Rest, ersetzt (a,b)(a, b) durch (b,r)(b, r) und wiederholt das. Die Reste werden echt kleiner, also erreicht man nach endlich vielen Schritten den Rest 00. Der letzte von null verschiedene Rest ist der ggT.

Der Algorithmus ist sehr schnell: Die Zahl der Schritte wächst nur logarithmisch mit der Größe der Zahlen (Satz von Lamé). Am langsamsten ist er bei aufeinanderfolgenden Fibonacci-Zahlen.

Beispiele

ggT⁡(1071,462)\operatorname{ggT}(1071, 462):

1071=2⋅462+147462=3⋅147+21147=7⋅21+0\begin{aligned} 1071 &= 2 \cdot 462 + 147 \\ 462 &= 3 \cdot 147 + 21 \\ 147 &= 7 \cdot 21 + 0 \end{aligned}

Der letzte Rest ungleich null ist 2121, also ggT⁡(1071,462)=21\operatorname{ggT}(1071, 462) = 21.

ggT⁡(252,105)\operatorname{ggT}(252, 105):

252=2⋅105+42105=2⋅42+2142=2⋅21+0\begin{aligned} 252 &= 2 \cdot 105 + 42 \\ 105 &= 2 \cdot 42 + 21 \\ 42 &= 2 \cdot 21 + 0 \end{aligned}

Ergebnis: ggT⁡(252,105)=21\operatorname{ggT}(252, 105) = 21.

Typische Fehler

  • Den Rest 00 oder den letzten Quotienten als Ergebnis nehmen. Der ggT ist der letzte Rest vor der 00, im ersten Beispiel 2121, nicht der Quotient 77.
  • Quotient und Rest verwechseln. Weiter geht es immer mit dem Paar (alter Divisor, Rest), nicht mit dem Quotienten.
  • Nach dem ersten Schritt aufhören. Bei ggT⁡(34,21)\operatorname{ggT}(34, 21) braucht man sieben Divisionen, bis der Rest 00 ist; das Ergebnis ist 11, die Zahlen sind teilerfremd.
  • Mit b=0b = 0 teilen wollen. Für b=0b = 0 gilt direkt ggT⁡(a,0)=a\operatorname{ggT}(a, 0) = a.

Verwandte Formeln