diff options
| -rw-r--r-- | chapter116.rkt | 2 | ||||
| -rw-r--r-- | chapter117.rkt | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/chapter116.rkt b/chapter116.rkt index 61b8e6f..e4f1e7d 100644 --- a/chapter116.rkt +++ b/chapter116.rkt @@ -13,4 +13,4 @@ (define (fast-expt b n) (fie 1 b n)) -(fast-expt 3 4) +(fast-expt 5 5) diff --git a/chapter117.rkt b/chapter117.rkt new file mode 100644 index 0000000..b4a8e27 --- /dev/null +++ b/chapter117.rkt @@ -0,0 +1,13 @@ +(define (halve a) (/ a 2)) +(define (double a) (* a 2)) + +(define (miter s a b) + (cond ((= b 0) s) + ((even? b) (miter s (double a) (halve b))) + (else (miter (+ s a) (double a) (halve (- b 1)))))) + + +(define (m a b) + (miter 0 a b)) + +(m 3 5) |
