"Der größte gemeinsame Teiler (ggT) zweier Zahl" in Python
Führe den folgenden Algorithmus per Hand aus!
Merke: Eine mathematische Schreibweise für "t ist ein Teiler von Zahl" ist "t|Zahl".
- Welche Eigenschaft haben die ausgegebenen Zahlen?
Algorithmus in Form eines Textogramm (vereinfachtes Struktogramm)
z1=28
z2=35
von t=1 bis min(z1,z2)
wenn "t|z1" und "t|z2", dann
Ausgabe von t
Studiere die folgenden Programme:
- nativer Algorithmus zur Veranschaulichung
Warum wird nicht die Funktion max() genutzt?
- klassischer Euklidischer Algorithmus zur Veranschaulichung
Das sich a und b während des Programms verändern, muss der erste Teil der Ausgabe am Anfang ausgeführt werden.
- klassischer Euklidischer Algorithmus mit veränderter Ausgabe
- ggT()-Funktion - iterativ
- ggT()-Funktion - rekursiv
- Moderner Euklidischer Algorithmus
Algorithmus in Form eines Textogramm (vereinfachtes Struktogramm)
solange b ungleich 0 wiederhole:
setze r auf a modulo b
setze a auf b
setze b auf r
Ausgabe "ggT von ist der Wert von a"
Sende die vier Links zu den deinen Lösungen der folgenden Aufgaben a) bis d) per Mail an Herrn Sigismund.
- Rechne per Hand für a=240 und b=364!
Beispiel:
- Erstelle ein Python-Programm für diesen Algorithmus.
- Definiere und teste eine ggT()-Funktion in der iterativen Variante.
- Definiere und teste eine ggT()-Funktion in der rekursiven Variante.
- Programmiere einen nativen Algorithmus zur Bestimmung des kgV, des kleinsten gemeinsamen Vielfachen zweier Zahlen.
a=8 und b=6
va=a und vb=b
solange va ungleich vb
wenn va kleiner alse vb
dann erhöhe va um a
sonst erhöhe vb um b