SICP习题 1.16 (对求幂进行优化)

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

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

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

(fast-expt 2 200000)

  

原文地址:https://www.cnblogs.com/R4mble/p/7882694.html