Peter Sheats’ Blog

September 22, 2007

Exercise 1.17

Filed under: SICP Chapter 1, SICP Exercises — Peter Sheats @ 11:53 am
(define (halve x) (/ x 2))

(define (double x) (+ x x))

(define (even? x)
  (= (remainder x 2) 0))

(define (* a b)
  (write b)
  (cond ((= b 0) 0)
        ((even? b) (double (* a (halve b))))
        (else (+ a (* a (- b 1))))))

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress