Ich hab in den einfachen Code das mit dem Kürzen mal integriert. Die Zwischenergebnisse sollten hier wesentlich kleiner sein.
Delphi-Quellcode:
function fakultaet2(start, ende: integer): extended;
var
i: integer;
begin
if ende > start then
raise EMathError.Create('Start kleiner als Ende');
Result := 1;
for i := start to ende do
begin
Result := Result * i;
end;
end;
function fakultaet(N: integer): Extended;
var i: Integer;
begin
Result := 1;
for i := 1 to trunc(N) do
Result := Result * i
end;
function nueberk(n, k: integer): Extended;
begin
Result := fakultaet2(k, n) / (fakultaet(n - k))
end;
Bernhard
Der Code ist fehlerbehaftet und errechnet falsche Ergebnisse. Eine korrigierte Version befindet sich in Beitrag #56.
[edit=Admin]Anmerkung des Autors eingefügt. Mfg, Daniel[/edit]