Zitat von
Fridolin Walther:
Delphi-Quellcode:
function fakultaet_nonrecursive(UpperLimit: Int64) : Int64;
var
i : Int64;
begin
Result := 1;
i := 2;
while i <= UpperLimit
do
begin
if Result * i < Result
then
raise Exception.Create('
Integerüberlauf!');
Result := Result * i;
inc(i);
end;
end;
Wäre mein Vorschlag. Ohne Fehlerhandling. Keine Rekursion. Wirft ne
Exception sobald es überläuft. Übrigens wie mein Vorredner bereits gesagt hat bei 21.
Oder einfach in den Projektoptionen die Überlaufprüfung einschalten