Einzelnen Beitrag anzeigen

Thorben86

Registriert seit: 20. Nov 2003
Ort: Brühl
365 Beiträge
 
Delphi 2005 Personal
 
#1

Auch größere Fakultäten ausrechnen?

  Alt 10. Okt 2004, 19:09
Hi, ich bin gerade dabei, ein Programm zu schreiben, in dem ich die Fakultät von x ausrechnen will..

Hierfür verwende ich den Code, den ich hier gefunden habe.
Delphi-Quellcode:
function NFak(Val: Integer): Int64;
begin
  if Val < 0 then
    raise Exception.Create('Val muss größer/gleich 0 sein.');
  Result := 1;
  repeat
    Result := Result * Val;
    Dec(Val);
  until Val <= 1;
end;
Das Problem ist jetzt aber, dass das Ergebnis nur bis 20 richtig "erscheint", da bei 21 schon eine negative Zahl als Lösung rauskommt. Gibt es eine Möglichkeit dies weniger Speicherintensiv(muss aber rekusiv sein) zu lösen, damit man auch über die 20 hinaus kommt?
  Mit Zitat antworten Zitat