Einzelnen Beitrag anzeigen

Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Iterative Fakultätsberechnung klappt nit

  Alt 23. Nov 2004, 18:58
Könnte vielleicht helfen, wenn du "result" vorher mal mit 1 belegst. Wurde ja nicht initialisiert, wird aber sofort in der Schleife verwendet. Ich weiß nich genau, was in Delphi da gesetzt wird, aber in Java ist ein Integer auf jeden Fall standardmäßig 0 - soweit ich weiß.
Und wie sieht das mit negativen Werten bei Fakultäten aus? Is das nich auch 1? Solltest du also auch abfangen.
Könnte also so aussehen:
Delphi-Quellcode:
function fak_it (n : Integer):int64 ;
  Var i: Integer;
begin
  result := 1
  if (n > 1) then
  begin
    for i := n downto 1 do
      result := result * i;
  end;
end;
Nicht getestet, und ich übernehme auch keine Garantie! (Sollte aber eigentlich funktionieren, wenn mich meine Programmierkünste jetzt nicht vollends verlassen haben. Aber man weiß ja nie... )
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat