2008-11-17 SICP 1.17 SICP Scheme (define (fast-mul x n) (let ((halv (lambda (n) (/ n 2))) (double (lambda (n) (* n 2)))) (cond ((= n 1) x) ((even? n) (double (fast-mul x (halv n)))) (else (+ x (fast-mul x (- n 1))))))) (fast-mul 3 4) 1.17と全く同じ解き方なんだけど、これはこれでいいのね。