13.2 Der Euklidsche Algorithmus
|
|||||||||||
Der Algorithmus |
![]() Das Beispiel zeigt, wie man mit Hilfe des Euklidschen Algorithmus' den ggT(792,75) bestimmt. Im ersten Schritt fragen wir, wie häufig die zweite Zahl, also 75 ganzzahlig in der ersten, nämlich 792 enthalten ist. Diese Ganzzahldivision liefert 10 und den Rest 42. Im weiteren Verlauf werden wir sehen, dass die Zahl 10 für den weiteren Verlauf unwichtig ist, also getrost vergessen werden kann. Wesentlich ist, wir berechnen 792 mod 75 und das ist 42. Im zweiten Schritt fragen wir: Wie groß ist der Rest, wenn wir 75 ganzzahlig durch 42 teilen. Wir bestimmen also 75 mod 42. Diese Schritte wiederholen sich Somit berechnen wir nacheinander: 792 mod 75 = 42 Ist der Rest 0, ist der Algorithmus zu Ende. 3 ist der gesuchte größte gemeinsame Teiler. Da garantiert werden kann, dass der Rest irgendwann 0 ist, sagen wir, der Algorithmus terminiert. |
||||||||||
Nach dieser Untersuchung am Beispiel, formulieren wir den Algorithmus allgemein, so dass wir schließlich in Java implementieren können. Auf den Beweis des Algorithmus' verzichten wir und verweisen auf die einschlägige Literatur verwiesen. | |||||||||||
allgemeine Darstellung |
Zu bestimmen ist ggT(a,b) Wir setzen r0=a und r1 = b; und bestimmen |
||||||||||
|
|||||||||||
Der Java-Code |
|
||||||||||
Download: GgT3.java |
Kommentar zu Zeile //1: |
||||||||||
Ergebnis |
Da die StoppUhr, wie ein Blick in ihren Quelltext verrät, auf Millisekunden genau die Zeit stoppt, ist die Laufzeit von 16,543 Sekunden auf unter 0,001 Sekunden geschrumpft.
|
||||||||||
zu 13.3 | Der ggT rekursiv definiert. | ||||||||||
zur Startseite | www.pohlig.de (C) MPohlig 2003 |