博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【SICP练习】63 练习2.34
阅读量:5844 次
发布时间:2019-06-18

本文共 558 字,大约阅读时间需要 1 分钟。



练习2.34

书中一开始有2个式子,一个是原式,一个根据Horner规则构造出的式子。而我们同样也可以将待求得式子写成这种方式,而且可以更进一步——那就是写成Lisp的前序表示:

(+ 1 (* x (+ 3 (* x (+ 0 (* x (+ 5 (* x(+ 0 x) ) ) ) ) ) ) ) )

由此可以观察得出lambda表达式里要做的是:

(+ this-coeff (* x (accumulate ......

通过不断的递归,最终就像上一题中图片所示的一样,accumulate最终会返回一个值,然后就开始计算不再递归了,空间需求也就开始缩小。

(define (horner-eval xcoefficient-sequence)

   (accumulate (lambda (this-coeff higher-terms)

                    (+ this-coeff (* xhigher-terms)))

                0

                coefficient-sequence))

下面我们来测试一下。

(load “d:\\lisp\\accumulate-2.scm”)

(load “d:\\lisp\\horner-eval.scm”)

(horner-eval 2 ‘(1 3 0 5 0 1))

;Value: 79

转载地址:http://rihcx.baihongyu.com/

你可能感兴趣的文章
iOS设计模式解析(五)责任链模式
查看>>
阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)
查看>>
[转]虚方法(virtual)和抽象方法(abstract)的区别
查看>>
ubuntu14.04安装显卡驱动(转载)
查看>>
Java防盗链实现
查看>>
TP5的类似TP3使用‘DEFAULT_THEME’的配置修改主题风格的方法,以及常见模板错误...
查看>>
VMware vCenter Server安装与配置
查看>>
总结js中数据类型的bool值及其比较
查看>>
SQL中between过滤数据
查看>>
Java多线程4:synchronized锁机制
查看>>
母版页与用户控件区别(思维导图整理)
查看>>
编辑请求内容 Charles
查看>>
依旧是输入输出(存字符矩阵,空格,换行)
查看>>
Java关于继承中的内存分配
查看>>
2017-2018-2 20179302 《网络攻防》第三周作业
查看>>
程序员进入BAT,到底是“好事”还是“坏事”?
查看>>
【039】Geometry 总结
查看>>
应对艰难职场环境的五条策略
查看>>
由世纪互联运营的 Windows Azure 现已在中国正式发布
查看>>
C/C++ 错误处理
查看>>