Euklidischer Algorithmus: Unterschied zwischen den Versionen

Aus KGS-Wiki
Die Seite wurde neu angelegt: „Der Euklidische Algorithmus ist ein Algorithmus zur Berechnung des größten gemeinsamen Teilers (ggT) zweier Zahlen. Der Algorithmus wurde im 3. Jahrhundert {{Abk|v.u.Z.|vor unserer Zeitrechnung}} von dem griechischen Mathematiker Euklid erfunden und funktioniert so: # Gegeben sind zwei Zahlen <math>a</math> und <math>b</math>, deren {{Abk|ggT|größter gemeinsamer Teiler}} berechnet werden soll. # Falls <math>a = 0</mat…“
 
Keine Bearbeitungszusammenfassung
 
Zeile 10: Zeile 10:
== Beispiel ==
== Beispiel ==


Die folgende [[Trace-Tabelle]] illustriert den Algorithmus für die Eingabe <math>a = 42, b = 123</math>
Die folgende [[Trace-Tabelle]] illustriert den Algorithmus für die Eingabe <math>a = 666, b = 123</math>


{| class="wikitable"
{| class="wikitable"
  ! Schritt !! <math>a</math> !! <math>b</math> !! Ausgabe
  ! Schritt !! <math>a</math> !! <math>b</math> !! Ausgabe
  |-
  |-
  | 1 || 42 || 123 ||
  | 1 || 666 || 123 ||
  |-
  |-
  | 2 ||   ||    ||
  | 2 ||     ||    ||
  |-
  |-
  | 3 ||   ||    ||
  | 3 ||     ||    ||
  |-
  |-
  | 4 ||   ||    ||
  | 4 || 543 ||    ||
  |-
  |-
  | 5 ||   || 81 ||
  | 3 ||     ||     ||
  |-
  |-
  | 3 ||   ||    ||
  | 4 || 420 ||    ||
  |-
  |-
  | 4 ||   ||    ||
  | 3 ||     ||    ||
  |-
  |-
  | 5 ||   || 39 ||
  | 4 || 297 ||     ||
  |-
  |-
  | 3 ||   ||    ||
  | 3 ||     ||    ||
  |-
  |-
  | 4 || 3 ||    ||
  | 4 || 174 ||    ||
  |-
  |-
  | 3 ||   ||    ||
  | 3 ||     ||    ||
  |-
  |-
  | 4 ||   ||    ||
  | 4 || 51 ||    ||
  |-
  |-
  | 5 ||   || 36 ||
  | 3 ||     ||     ||
  |-
  |-
  | 3 ||   ||     ||
  | 5 ||     || 72 ||
  |-
  |-
  | 4 ||   ||    ||
  | 3 ||     ||    ||
  |-
  |-
  | 5 ||   ||  33 ||
  | 5 ||     ||  21 ||
  |-
  |-
  | 3 ||   ||    ||
  | 3 ||     ||    ||
  |-
  |-
  | 4 ||   ||    ||
  | 4 || 30 ||    ||
  |-
  |-
  | 5 ||   || 30 ||
  | 3 ||     ||     ||
  |-
  |-
  | 3 ||   ||    ||
  | 4 ||   9 ||    ||
  |-
  |-
  | 4 ||   ||    ||
  | 3 ||     ||    ||
  |-
  |-
  | 5 ||   ||  27 ||
  | 5 ||     ||  12 ||
  |-
  |-
  | 3 ||   ||    ||
  | 3 ||     ||    ||
  |-
  |-
  | 4 ||   ||     ||
  | 5 ||     ||   3 ||
  |-
  |-
  | 5 ||   || 24 ||
  | 3 ||     ||     ||
  |-
  |-
  | 3 ||   ||    ||
  | 4 ||   6 ||    ||
  |-
  |-
  | 4 ||   ||    ||
  | 3 ||     ||    ||
  |-
  |-
  | 5 ||   || 21 ||
  | 4 ||   3 ||     ||
  |-
  |-
  | 3 ||   ||    ||
  | 3 ||     ||    ||
  |-
  |-
  | 4 ||   ||     ||
  | 5 ||     ||   0 ||
  |-
  |-
| 5 ||    ||  18 ||
  | 3 ||    ||    || 3
|-
| 3 ||    ||    ||
|-
| 4 ||    ||    ||
|-
| 5 ||    ||  15 ||
|-
| 3 ||    ||    ||
|-
| 4 ||    ||    ||
|-
| 5 ||    ||  12 ||
|-
  | 3 ||    ||    ||
|-
| 4 ||    ||    ||
|-
| 5 ||    ||  9 ||
|-
| 3 ||    ||    ||
|-
| 4 ||    ||    ||
|-
| 5 ||    ||  6 ||
|-
| 3 ||    ||    ||
|-
| 4 ||    ||    ||
|-
| 5 ||    ||  3 ||
|-
|-
| 3 ||    ||    ||
|-
| 4 ||    ||    ||
|-
| 5 ||    ||  0 ||
|-
| 3 ||    ||    || 3
  |}
  |}


Der {{Abk|ggT|größte gemeinsame Teiler}} von 42 und 123 ist also 3.
Der {{Abk|ggT|größte gemeinsame Teiler}} von 666 und 123 ist also 3.


[[Kategorie:Algorithmen]]
[[Kategorie:Algorithmen]]

Aktuelle Version vom 20. Juni 2025, 10:56 Uhr

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:

  1. Gegeben sind zwei Zahlen a und b, deren ggT berechnet werden soll.
  2. Falls a=0, gib b aus; nach der Ausgabe ist der Ablauf beendet.
  3. Falls b=0, gib a aus; nach der Ausgabe ist der Ablauf beendet.
  4. Falls a>b, setze a:=ab.
  5. Sonst setze b:=ba
  6. Springe zurück zu Schritt 3

Beispiel

Die folgende Trace-Tabelle illustriert den Algorithmus für die Eingabe a=666,b=123

Schritt a b 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.