vorige zurück

endrekursiv Ablauf


 

Bindung von n Bindung von akku Aufruf nächste Stufe
0 120 kein Aufruf, da n=0
;;; endrekursiv mit lokaler Schleife:
(define
  (fac n)
  (let loop
    ((n n)
     (akku 1))
    (if
     (zero? n)
     akku
     (loop (sub1 n) (* n akku)))))

;;; Test:
(fac 5)