Folgende Teilaufgaben sollen gelöst werden:
Ein Testprogramm soll für folgende Gruppen von Wertepaaren den Algorithmus durchführen:
Anmerkung: Wahrscheinlich ist die Auflösung der internen Rechneruhr zu grob für eine sinnvolle Messung. Dann muß jeweils um den interessierenden Bereich noch eine Schleife gebaut werden, und die gemessene Laufzeit durch die Anzahl der Schleifendurchläufe geteilt werden. Weiterhin muß man beim Vergleichen der Werte beachten, daß die Java-Funktion currentTimeMillis() die insgesamt verstrichene Zeit liefert, also einen höheren Wert bei starker Auslastung des Systems mit weiteren Programmen, während die C-Funktion clock() nur die Zeit angibt, die für den aktuellen Prozeß verbraucht wird.
Anmerkung: die gegebenenfalls noch ausgegebenen Laufzeiten sind nicht mehr sinnvoll, weil sie das Zählen der einzelnen Anweisungen beinhalten.
eigener ggT: +----------------------------------+ | m>n | | | | +--- ja --------+--- nein --------+ | Vertausche m,n | | +----------------------------------+ | für i = m ... 1 (-1) | | +------------------------------+ | | m/i ohne Rest teilbar | | | UND | | | n/i ohne Rest teilbar | | | | | | +-- nein --+-- ja -------------+ | | | | | | | ggT = i | | | +-------------------+ | | | <- eigener ggT | +---+----------+-------------------+
www.wachtler.de