問題1.18 をやってみる
1-16 を書き直すだけでした。っと。
(define (double n) (+ n n))(define (halve n) (/ n 2))
(define (fast-expt-mul b n a) (cond ((= n 0) a) ((even? n) (fast-expt-mul (double b) (halve n) a)) (else (fast-expt-mul b (- n 1) (+ b a)))))
(fast-expt-mul 5 4 0)
moremagic
2013-06-09