递归算法
(define (exp b n)
(cond ((= 1 n) b)
((even? n) (square (exp b (/ n 2))))
(else (* b (exp b (- n 1))))
)
)
迭代算法
(define (exp-iter a b n)
(cond ((= n 0) a)
((even? n) (exp-iter a (square b) (/ n 2)))
(else (exp-iter (* a b) b (- n 1))
)
)
)
(define (exp-best b n)
(exp-iter 1 b n)
)