]> git.rkrishnan.org Git - sicp.git/blob - src/sicp/ex4_24.rkt
Solutions to 4.27, 4.28 and 4.29.
[sicp.git] / src / sicp / ex4_24.rkt
1 #lang racket
2
3 ;;; without analysis
4
5 #|
6
7 > (t '(begin 
8         (define (factorial n)
9           (if (= n 1)
10               1
11               (* (factorial (- n 1)) n)))
12         (factorial 1000)))
13 27.14208984375
14 > (t '(begin 
15         (define (factorial n)
16           (if (= n 1)
17               1
18               (* (factorial (- n 1)) n)))
19         (factorial 1000)))
20 27.64404296875
21 > (t '(begin 
22         (define (factorial n)
23           (if (= n 1)
24               1
25               (* (factorial (- n 1)) n)))
26         (factorial 10000)))
27 417.66796875
28 > (t '(begin 
29         (define (factorial n)
30           (if (= n 1)
31               1
32               (* (factorial (- n 1)) n)))
33         (factorial 10000)))
34 416.1162109375
35 > (t '(begin 
36         (define (factorial n)
37           (if (= n 1)
38               1
39               (* (factorial (- n 1)) n)))
40         (factorial 10000)))
41 439.837890625
42
43
44 |#
45
46 ;; with analysis
47
48 #|
49
50 >  (t '(begin 
51         (define (factorial n)
52           (if (= n 1)
53               1
54               (* (factorial (- n 1)) n)))
55         (factorial 1000)))
56 15.368896484375
57 >  (t '(begin 
58         (define (factorial n)
59           (if (= n 1)
60               1
61               (* (factorial (- n 1)) n)))
62         (factorial 1000)))
63 15.39111328125
64 >  (t '(begin 
65         (define (factorial n)
66           (if (= n 1)
67               1
68               (* (factorial (- n 1)) n)))
69         (factorial 10000)))
70 298.23779296875
71 >  (t '(begin 
72         (define (factorial n)
73           (if (= n 1)
74               1
75               (* (factorial (- n 1)) n)))
76         (factorial 10000)))
77 252.77978515625
78 >  (t '(begin 
79         (define (factorial n)
80           (if (= n 1)
81               1
82               (* (factorial (- n 1)) n)))
83         (factorial 10000)))
84 255.87890625
85
86
87 |#