(define (even? n)
(= (remainder n 2) 0))
(define (fast-expt-iter result b n)
(cond ((= n 0) 1)
((= n 1) (* result b))
((even? n) (fast-expt-iter result (* b b) (/ n 2)))
(else(fast-expt-iter (* b result) b (- n 1)))))
(define (fast-expt b n)
(fast-expt-iter 1 b n) )
(fast-expt 2 0)
(fast-expt 2 1)
(fast-expt 2 5)
(fast-expt 2 6)
本文介绍了一种使用递归和快速幂算法来高效计算b^n的方法。通过定义even?过程判断数值是否为偶数,并利用fast-expt-iter过程实现快速幂运算。文中给出了具体的Scheme语言代码实现。
4355

被折叠的 条评论
为什么被折叠?



