1.7 mysqrt的改进
改善精度控制的细节, 判断如果连续两次迭代的猜测值相差很小, 就退出. 实验表明达到效果了, 大数和小数都得到了很大改善.
美中不足是我还不会用变量, get-guess-result方法被重复调用了.
1.8 求立方根
求立方根实际上只需要替换improve函数和get-guess-result函数的实现, 其他代码相同. 我为了共享代码中的相同部分, 先重构了上面的代码, 做了一些抽象:
外话, 熟悉了Lisp的写法, 感觉还是不错的, 简洁明了. 使用缩进能基本消除括号的烦恼. 进一步想, 如果直接使用缩进来控制代码结构, 那就变成Haskell和Python了. :D:D 但这样的风格似乎减弱了表达式和求值的思想.
转载请注明:来自都市乡下人
本文地址:http://www.dulao5.com/2011/03/10/SICP-Exercise-1.7-1.8.html
本文介绍了一种改进的平方根与立方根求解算法。通过优化迭代过程中的精度控制,使得对于大数和小数都能得到更好的计算结果。文章详细展示了使用Lisp语言实现的具体代码。
170

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



