我刚刚开始阅读这本书以获得乐趣; 我希望这是家庭作业,但我永远不能参加麻省理工学院,而且还有很多人比我更聪明.:p
fast-exp应该找到b ^ n,即4 ^ 2 = 16,3 ^ 3 = 27
(define (fast-exp b n)
(define (fast-exp-iter n-prime a)
(cond ((= n-prime 1) a)
((= (remainder n-prime 2) 1) (fast-exp-iter (- n-prime 1) (* a b)))
(else (fast-exp-iter (/ n-prime 2) (* a b b)))))
(fast-exp-iter n 1))
fast-exp 4 2; Expected 16, Actual 2
Run Code Online (Sandbox Code Playgroud)
你忘了打电话给快速曝光.相反,您评估了三个独立的原子.要实际评估快速exp为4到2,你必须写
(fast-exp 4 2)
Run Code Online (Sandbox Code Playgroud)