我正在经历SICP,我不确定这是否是书中的错误,或者我错过了什么。
为了计算fast-exp
,作者给出了以下规则:
b ^ n =(b ^(b / 2))^ 2,如果n是偶数
b ^ n = b * b ^(n - 1)如果n是奇数
但是,当他们提出偶数n
的实施时,我们有:
((even? n) (square (fast-expt b (/ n 2))))
在我看来是正确的。
我相信
b^n = (b^(b/2))^2 if n is even
应改为
b^n = (b^(n/2))^2 if n is even
。
我很难相信在这么旧的书中会出现这样的错误。我也尝试在网上找到关于这个问题的任何讨论,但都失败了。不知道这里发生了什么。提前谢谢。