vorige nächste

endrekursiv Ablauf


 

Bindung von n Bindung von akku Aufruf nächste Stufe
4 5 (loop 3 20)
;;; 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)