[Delphi] euklidische Algorithmus

bodo2005

Lt. Junior Grade
Registriert
Okt. 2005
Beiträge
333
Habe die Aufgabe in Delphie ein Programm zu schreiben, welches den euklidische Algorithmus nachbildet.

Code:
function eukli(a, b: integer):string;
var rest, ende, hilfe: integer;
begin
        if(a < b) then
        begin
                hilfe   := a;
                a       := b;
                b       := hilfe;
        end;

                while(rest <> 0) do
                begin
                        ende    := b;
                        rest    := a mod b;
                        b       := rest;
                end;

        result:=inttostr(ende);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
        Panel2.Caption:=eukli(strtoint(Edit1.Text), strtoint(Edit2.Text));
end;

Leider klappt dieser Programm für den ggT(89, 144) nicht... ich weiß nicht warum, weil alle anderen Testwerte stimmen. Aber irgendwo muss ja ein Fehler sein...

Falls jemand so etwas schon einmal lössen sollte, wäre ich über Ideen dankbar...

Ich bekomme bei ggT(89, 144) = 8 raus, aber es muss 1 raus kommen...

Falls sich jemand die Zeit nehmen will:
http://de.wikipedia.org/wiki/Euklidischer_Algorithmus
http://johannes-bauer.com/thi/eea.php
 
Hmm du hast den Algorithmus falsch implementiert ... frei nach dem Wikipedia link sieht das so aus:

Code:
if(a < b) then
begin
         hilfe   := a;
         a       := b;
         b       := hilfe;
end;

while(b > 0) do
begin
         rest    := a mod b;
         a       := b;
         b       := rest;
end;

result:=inttostr(a);
 
Zuletzt bearbeitet:
Zurück
Oben