用一个 a <script id="MathJax-Element-11" type="math/tex">a</script>存答案就可以写出迭代的过程
(define (fast-expt-iter a b n) ; a存的是答案
(cond ((= n 0) a) ; 终止情况
((even? n) (fast-expt-iter a (* b b) (/ n 2))) ; n为偶数
(else (fast-expt-iter (* a b) b (- n 1))))) ; n为奇数
(define (even? n)
(= (remainder n 2) 0))
(define (fast-expt b n)
(fast-expt-iter 1 b n))