Euklidischer Algorithmus
Aus KGS-Wiki
Der Euklidische Algorithmus ist ein Algorithmus zur Berechnung des größten gemeinsamen Teilers (ggT) zweier Zahlen. Der Algorithmus wurde im 3. Jahrhundert v.u.Z. von dem griechischen Mathematiker Euklid erfunden und funktioniert so:
- Gegeben sind zwei Zahlen und , deren ggT berechnet werden soll.
- Falls , gib aus; nach der Ausgabe ist der Ablauf beendet.
- Falls , gib aus; nach der Ausgabe ist der Ablauf beendet.
- Falls , setze .
- Sonst setze
- Springe zurück zu Schritt 3
Beispiel
Die folgende Trace-Tabelle illustriert den Algorithmus für die Eingabe
| Schritt | Ausgabe | ||
|---|---|---|---|
| 1 | 666 | 123 | |
| 2 | |||
| 3 | |||
| 4 | 543 | ||
| 3 | |||
| 4 | 420 | ||
| 3 | |||
| 4 | 297 | ||
| 3 | |||
| 4 | 174 | ||
| 3 | |||
| 4 | 51 | ||
| 3 | |||
| 5 | 72 | ||
| 3 | |||
| 5 | 21 | ||
| 3 | |||
| 4 | 30 | ||
| 3 | |||
| 4 | 9 | ||
| 3 | |||
| 5 | 12 | ||
| 3 | |||
| 5 | 3 | ||
| 3 | |||
| 4 | 6 | ||
| 3 | |||
| 4 | 3 | ||
| 3 | |||
| 5 | 0 | ||
| 3 | 3 |
Der ggT von 666 und 123 ist also 3.
