Blob


1 (define (factorial n)
2 (if (= n 1)
3 1
4 (* n (factorial (- n 1)))))
6 (define (factorial n)
7 (fact-iter 1 1 n))
8 (define (fact-iter product counter max-count)
9 (if (> counter max-count)
10 product
11 (fact-iter (* product counter) (+ counter 1) max-count)))
14 (define (+ a b)
15 (if ( = a 0)
16 b
17 (inc (+ (dec a) b))))
19 ;; This is a recursive process
20 (+ 4 5)
21 (inc (+ 3 5))
22 (inc (inc (+ 2 5)))
23 (inc (inc (inc (+ 1 5))))
24 (inc (inc (inc (inc (+ 0 5)))))
25 (inc (inc (inc (inc 5))))
26 ;; ...
28 (define (+ a b)
29 (if (= a 0)
30 b
31 (+ (dec a) (inc b))))
33 ;; This is an iterative process
34 (+ 4 5)
35 (+ 3 6)
36 (+ 2 7)
37 (+ 1 8)
38 (+ 0 9)