Java/CppProgrammer
Erfahrenes Mitglied
Hallo allerseits.
Ich hoffe meine Frage ist hier richtig:
Der Größte Gemeinsame Teiler (GGT) zweier Zahlen ist ja bekanntlich die größte Zahl, durch die sich beide ohne Rest Teilen lassen.
Um den GGT Teiler zweier Zahlen bestimmen zu lassen, hab ich folgende Funktion geschrieben (ich wähl jetzt einfach C++, weil das wohl für die meisten lesbar sein wird):
Es wird in der Schleife jeder ganzzahlige Wert größer Null daraif überprüft, ob er durch die beiden Zahlen ohne Rest teilbar ist.
Meine Frage ist, ob es nicht auch effizientere Wege gibt (ähnlich wie bei den isPrimzahl Funktionen, die Seitenlange Code haben), denn die Funktion hier dauert bei größeren Zahl en schon etwas.
Danke
Ich hoffe meine Frage ist hier richtig:
Der Größte Gemeinsame Teiler (GGT) zweier Zahlen ist ja bekanntlich die größte Zahl, durch die sich beide ohne Rest Teilen lassen.
Um den GGT Teiler zweier Zahlen bestimmen zu lassen, hab ich folgende Funktion geschrieben (ich wähl jetzt einfach C++, weil das wohl für die meisten lesbar sein wird):
PHP:
int ggt(int Zahl1,int Zahl2)
{
int x=1;
for (int i = 1; i <= ((Zahl1 < Zahl2) ? Zahl1 : Zahl2); i++)
{
if ((Zahl1 % i == 0) && (Zahl2 % i == 0))
x=i;
}
return x;
}
Es wird in der Schleife jeder ganzzahlige Wert größer Null daraif überprüft, ob er durch die beiden Zahlen ohne Rest teilbar ist.
Meine Frage ist, ob es nicht auch effizientere Wege gibt (ähnlich wie bei den isPrimzahl Funktionen, die Seitenlange Code haben), denn die Funktion hier dauert bei größeren Zahl en schon etwas.
Danke