Hallo Boris,
abgesehen davon, daß die Mod-Funktion mit so großen Zahlen nicht umgehen kan, ist Deine Funktion ist unlogisch/nicht erforderlich. Bei den Zahlen 100 und 3 sieht das Ergebnis von ggt(100, 3) wie folgt aus.
1. Durchlauf
Statt 100 Mod 3 wird gerechnet 3 Mod 100
Ergebnis gleich 3
2. Durchlauf
100 Mod 3 wird gerechnet
Ergebnis gleich 1
Da hättest Du Dir das Drehen der Zahlen im 1. Durchlauf gleich sparen können
3. Durchlauf
3 Mod 1
Ergebnis gleich 0
Schleife wird verlassen und der im vorigen Durchlauf gemerkte Restwert (1)
wird zurückgegenen. Hier beißt sich die Katze doch in den Schwanz und es
werden Schleifendurchläufe organisiert, die nicht nötig sind.
Egal welche (kleine) Zahlen man nimmt:
1144 Mod 8 = ggt(1144, 8) = 1
Gruß von Luschi
aus klein-Paris
geschrieben von
luschi
,
02.11.2005, 17:01 Uhr
, 48 mal gelesen