;;; 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)