1.17
(define (fast-multi a b)
(cond ((= b 0) 0)
((even? b) (double (fast-multi a (/ b 2))))
(else (+ a (fast-multi a (- b 1))))))
(define (even? n)
(= (remainder n 2) 0))
1.18
(define (fast-multi-iter a n b)
(cond ((= n 0) b)
((even? n) (fast-multi-iter (double a) (/ n 2) b))
(else (fast-multi-iter a (- n 1) (+ a b)))))
1.19
通过题意列方程解得
p'=q
2+p
2
q'=q
2+2pq
代入原程序既得