1 665c255d 2023-08-04 jrmu (define (factorial n)
4 665c255d 2023-08-04 jrmu (* n (factorial (- n 1)))))
6 665c255d 2023-08-04 jrmu (define (factorial n)
7 665c255d 2023-08-04 jrmu (fact-iter 1 1 n))
8 665c255d 2023-08-04 jrmu (define (fact-iter product counter max-count)
9 665c255d 2023-08-04 jrmu (if (> counter max-count)
11 665c255d 2023-08-04 jrmu (fact-iter (* product counter) (+ counter 1) max-count)))
14 665c255d 2023-08-04 jrmu (define (+ a b)
15 665c255d 2023-08-04 jrmu (if ( = a 0)
17 665c255d 2023-08-04 jrmu (inc (+ (dec a) b))))
19 665c255d 2023-08-04 jrmu ;; This is a recursive process
21 665c255d 2023-08-04 jrmu (inc (+ 3 5))
22 665c255d 2023-08-04 jrmu (inc (inc (+ 2 5)))
23 665c255d 2023-08-04 jrmu (inc (inc (inc (+ 1 5))))
24 665c255d 2023-08-04 jrmu (inc (inc (inc (inc (+ 0 5)))))
25 665c255d 2023-08-04 jrmu (inc (inc (inc (inc 5))))
28 665c255d 2023-08-04 jrmu (define (+ a b)
31 665c255d 2023-08-04 jrmu (+ (dec a) (inc b))))
33 665c255d 2023-08-04 jrmu ;; This is an iterative process