LU01.A02 - Imperativer ggT Algorithmus

Implementieren Sie den euklidischen Algorithmus, um den größten gemeinsamen Teiler von zwei Ganzzahlen zu finden.

Der euklidische Algorithmus ist eine Methode zur Bestimmung des größten gemeinsamen Teilers (ggT) von zwei Zahlen. Der Algorithmus basiert auf der Beobachtung, dass der ggT von zwei Zahlen auch der ggT von einer der beiden Zahlen und dem Rest der Division der größeren Zahl durch die kleinere ist. Der Algorithmus wird fortgesetzt, indem die größere Zahl durch den Rest ersetzt wird, bis keine Rest mehr vorhanden ist. Der letzte verbleibende Divisor ist der ggT.

Schreiben Sie eine Funktion namens gcd, die zwei Ganzzahlen als Parameter akzeptiert. Implementieren Sie den euklidischen Algorithmus, um den GCD der beiden Zahlen zu finden. Geben Sie den GCD als Ganzzahl zurück.

zahl1 = 60
zahl2 = 48
Der größte gemeinsame Teiler von 60 und 48 ist 12.

Der euklidische Algorithmus ist ein klassisches Verfahren zur Bestimmung des größten gemeinsamen Teilers (ggT) zweier Zahlen. Es ist benannt nach dem antiken griechischen Mathematiker Euklid, der es zuerst in seinen “Elementen” beschrieb. Der Algorithmus funktioniert durch wiederholte Division mit Rest und hat zwei Hauptvarianten: den subtraktiven Algorithmus und den Algorithmus mit Division.

  1. Eingabe: Zwei positive ganze Zahlen a und b, wobei a>b.
  2. Division mit Rest: Teile a durch b, erhalte den Rest r.
  3. Wiederholung: Ersetze a durch b und b durch r und wiederhole Schritt 2, bis b null wird.
  4. Ergebnis: Der größte gemeinsame Teiler ist der letzte Wert von b vor dem Erreichen von null.

Angenommen, wir wollen den ggT von 252 und 105 finden:

a=252 geteilt durch b=105 ergibt den Quotienten 2 und den Rest r=42.
Setze a=105, b=42 und wiederhole.
a=105 geteilt durch b=42 ergibt den Quotienten 2 und den Rest r=21.
Setze a=42, b=21 und wiederhole.
a=42 geteilt durch b=21 ergibt den Quotienten 2 und den Rest r=0.
Da b=0, ist der ggT der letzte Wert von b vor null, also 21.


© Kevin Maurizi

  • modul/m323/learningunits/lu01/aufgaben/imperativereuklid.txt
  • Last modified: 2023/11/13 08:56
  • by 127.0.0.1