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)

  

posted @ 2017-11-23 02:48  R4mble  阅读(206)  评论(0编辑  收藏  举报