Hallo, ich habe ein Problem, ich möchte ein Programm schreiben, mit dem man die Fakultät von beliebigen Zahlen ausrechnen kann. Ich dachte eigetlich, dass ich es habe, aber irgendwas stimmt noch nicht, bis 12! tut alles, aber ab 13! kommt ein falsches Ergebnis raus. Hier mein Quelltext:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var x, z: Integer;
begin
x := StrToInt(Edit1.Text);
z := x;
if x = 0 then
begin
Edit1.Text := '1';
end
else if x < 0 then
begin
Edit1.Text := 'Ungültige Funktionseingabe!';
end
else if x = 1 then
begin
Edit1.Text := '1';
end
else
begin
repeat
z := z * (x-1);
x := x-1;
until x = 1;
Edit1.Text := IntToStr(z);
end;
end;
Ich weiß einfach nicht, wo mein Fehler ist
Ich danke euch schon im voraus für eure Hilfe!
MfG
Florian
"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher."
Albert Einstein