快速 exp 中的 SICP 1.2.4 拼写错误?
Posted
技术标签:
【中文标题】快速 exp 中的 SICP 1.2.4 拼写错误?【英文标题】:SICP 1.2.4 typo in fast-exp? 【发布时间】:2018-09-11 05:54:47 【问题描述】:我正在通过 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
.
我很难相信这么老的书竟然有这样的错误。我还试图在网上找到有关此问题的任何讨论,但失败了。不知道这里发生了什么。提前致谢。
link to the mentioned chapter
【问题讨论】:
【参考方案1】:你是对的,这是一个错字 - 如果 n
是偶数,则公式应该是 (b^(n/2))^2
。但已在errata 中更正。
【讨论】:
太棒了!非常感谢!以上是关于快速 exp 中的 SICP 1.2.4 拼写错误?的主要内容,如果未能解决你的问题,请参考以下文章