Euklidischer Algorithmus
Der euklidische Algorithmus ist ein Algorithmus aus dem Gebiet der Zahlentheorie, mit dem sich der größte gemeinsame Teiler zweier natürlicher Zahlen berechnen lässt. Das Verfahren ist nach dem griechischen Mathematiker Euklid benannt. Der größte gemeinsame Teiler kann alternativ auch über die Primfaktorzerlegungen der Zahlen ermittelt werden. Sind diese nicht bekannt, so ist der euklidische Algorithmus im Allgemeinen jedoch deutlich effizienter.
Beschreibung des Verfahrens
Gegeben seien zwei natürliche Zahlen $a$ und $b$ mit $b \leq a$, deren größter gemeinsamer Teiler $\ggT(a,b)$ bestimmt werden soll. Hierzu wird zunächst eine Zerlegung mit Rest bestimmt, d.h., es werden ganze Zahlen $q_1,r_1$ mit $0 \leq r_1 \lt b$ bestimmt, für die gilt:
Die Grundidee des euklidischen Algorithmus beruht auf der Tatsache, dass $\ggT(a,b) = \ggT(b,r_1)$ gilt. Anstelle des größten gemeinsamen Teilers von $a$ und $b$ kann also auch der größte gemeinsame Teiler von $r_0=b$ und $r_1$ berechnet werden. Hierzu wird wieder eine Zerlegung mit Rest vorgenommen:
Wie zuvor gilt $\ggT(r_0,r_1) = \ggT(r_1,r_2)$ und somit auch $\ggT(a,b) = \ggT(r_1,r_2)$. Dieses Verfahren wird nun solange wiederholt, bis der Rest $0$ auftritt.
Die letzte Zeile bedeutet, dass $r_{n-1}$ ein ganzzahliges Vielfaches von $r_n$ ist – hieraus folgt direkt $\ggT(r_{n-1},r_n) = r_n$ und somit $\ggT(a,b)=r_n$.
Beispiele
Beispiel 1
Es soll der größte gemeinsame Teiler von $564$ und $235$ bestimmt werden. Mit dem euklidischen Algorithmus ergibt sich:
Es gilt $\ggT(564,235)=47$. Der größte gemeinsame Teiler \({\color{CornflowerBlue} 47}\) kann in der letzten oder in der vorletzten Zeile direkt abgelesen werden.
Beispiel 2
Es soll der größte gemeinsame Teiler von $42$ und $23$ bestimmt werden. Mit dem euklidischen Algorithmus ergibt sich:
Es gilt $\ggT(42,23)=1$; die Zahlen $42$ und $23$ sind folglich teilerfremd. Der größte gemeinsame Teiler \({\color{CornflowerBlue} 1}\) kann in der letzten oder in der vorletzten Zeile direkt abgelesen werden.
Beweis
Gegeben seien zwei natürliche Zahlen $a$ und $b$ mit $a \geq b$ sowie zwei ganze Zahlen $q,r$ mit $0 \leq r \lt b$, so dass gilt:
Der euklidische Algorithmus basiert auf der Grundannahme $\ggT(a,b) = \ggT(b,r)$, die direkt aus den beiden folgenden Eigenschaften resultiert, die im Anschluss bewiesenen werden.
Beweis von (I)
Der Wert $\ggT(a,b)$ ist sowohl ein Teiler von $a$ als auch ein Teiler von $b$. Unter Verwendung der Rechenregeln der Teilbarkeit gilt:
Da $\ggT(a,b)$ ein Teiler von $a$ und $b$ ist, ist $\ggT(a,b)$ folglich auch ein Teiler von $r$. Da nicht bekannt ist, ob $b$ und $r$ noch größere gemeinsame Teiler besitzen, folgt hieraus
Beweis von (II)
Umgekehrt handelt es sich bei $\ggT(b,r)$ sowohl um einen Teiler von $b$ als auch um einen Teiler von $r$. Es gilt
Da $\ggT(b,r)$ ein Teiler von $b$ und $r$ ist, ist $\ggT(b,r)$ folglich auch ein Teiler von $a$. Da nicht bekannt ist, ob $a$ und $b$ noch größere gemeinsame Teiler besitzen, folgt hieraus