SICP练习题 1.7~1.8

本文介绍了一种改进的平方根与立方根求解算法。通过优化迭代过程中的精度控制,使得对于大数和小数都能得到更好的计算结果。文章详细展示了使用Lisp语言实现的具体代码。
部署运行你感兴趣的模型镜像

 

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

 

 

 

您可能感兴趣的与本文相关的镜像

Qwen-Image

Qwen-Image

图片生成
Qwen

Qwen-Image是阿里云通义千问团队于2025年8月发布的亿参数图像生成基础模型,其最大亮点是强大的复杂文本渲染和精确图像编辑能力,能够生成包含多行、段落级中英文文本的高保真图像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值