sicp 1.16

利用状态变量a定义一个迭代求幂的过程。

 

(define (fast-expt b n)
  (fast-expt-iter 1 b n))

(define (fast-expt-iter a b n)
  (cond ((= n 0) a)
        ((even? n) (fast-expt-iter a (square b) (/ n 2)))
        (else (fast-expt-iter (* a b) b (- n 1)))))

(define (square x)
  (* x x))
 

你可能感兴趣的:(SICP)