Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#81

Re: Positive Zahlen in negative umwandeln

  Alt 30. Okt 2008, 13:52
Zitat von alzaimar:
Ich brech mir hier einen ab, poste eine endgeniale rekursive Lösung für das vermutlich NP-Komplette Problem der Zahlennegierung, [...]
Keine Tail Recursion (auf die deutsche Übersetzung verzichte ich mal)? Also bitte.
Delphi-Quellcode:
function MakeNegative(const aNumber: Integer): Integer;
  function Loop(const aNumber: Integer; const aContinuation: TFunc<Integer, Integer>): Integer;
  begin
    if aNumber > 0 then
      Result := Loop(aNumber-1,
        function(X: Integer): Integer
        begin
          Result := aContinuation(Result-1);
        end)
  else
    Result := aContinuation(0);
  end;
  Result := Loop(aNumber,
    function(X: Integer): Integer
    begin
       Result := X;
    end);
end;
Sebastian
Moderator in der EE