Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi n! Fakultät (https://www.delphipraxis.net/2307-n-fakultaet.html)

johannes 16. Jan 2003 21:34


n! Fakultät
 
gibt es bei delphi eine Funktion die die Fakultät(1*2*3*..*n) einer Zahl direkt ausrechent? oder muss ich die selber schreiben? (ich hab in der math unit nix gefunden ;( )

sakura 16. Jan 2003 21:48

Gibt es nicht, aber ist doch ganz leicht :D
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;

johannes 16. Jan 2003 21:56

habmich ja nur gefragt ob ich das rad nicht neu erfinden muss ;)
Danke für die schnelle Antwort

nailor 16. Jan 2003 22:04

als eingabe braucht man nicht wirklich einen Integer. Die Funktionswerte steigen ein wenig zu schnell an, als dass das noch in einen int64 reinginge...

sakura 16. Jan 2003 22:09

Zitat:

Zitat von Nailor
als eingabe braucht man nicht wirklich einen Integer. Die Funktionswerte steigen ein wenig zu schnell an, als dass das noch in einen int64 reinginge...

Dass stimmt schon, Integer rechnet sich aber besser auf 32-Bit CPUs als Integer, vor allem, wenn man auf Int64 rausgeht ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz