; fact.ss ; SICP section 1.2.1 ; Chris Parrish ; a recursive process (define fact (lambda (n) (if (zero? n) 1 (* n (fact (sub1 n)))))) (trace fact) (fact 120) ; an iterative process (define fact (lambda (n) (fact-iter 1 n 1))) (define fact-iter (lambda (k n ans) (if (> k n) ans (fact-iter (add1 k) n (* k ans))))) (trace fact-iter) (fact 120)