僕の解答
(define (even? n) (= (remainder n 2) 0)) (define (double n) (* n 2)) (define (halve n) (/ n 2)) (define (times a b) (cond ((= b 0) 0) ((even? b) (times (double a) (halve b))) (else (+ a (times a (- b 1))))))
こんな感じかな?
解答例
所感
doubleの位置が違うなぁ。でも、同じ結果になるのは掛け算だからかな?