sicp第一章部分习题解答
(begin(load "util.scm");ex 1.16 计算b的幂 (define (_expt product b n maxn)(if (= n maxn) product(if (<= (* n n) maxn) (_expt (* product product) b (+ n n) maxn)(_expt (* product b) b (+ n 1) maxn))))(define (fast-expt b n)(if (<= n 0) 1(_expt b b 1 n)));ex 1.11 (define (ex1-f n)(cond ((< n 3) n)(else(+ (ex1-f (- n 1)) (* 2 (ex1-f (- n 2))) (* 3 (ex1-f (- n 3))))))) (define (expmod base exp m)(cond ((= exp 0) 1)((even? exp)(remainder (square (expmod base (/ exp 2) m))m))(else(remainder (* base (expmod base (- exp 1) m))m)))) ; (define (expmod base exp m) ; (remainder (fast-expt base exp) m)) (define (fermat-test n)(define (try-it a)(= (expmod a n n) a))(try-it (+ 1 (random (- n 1)))))(define (fast-prime? n times)(cond ((= times 0) true)((fermat-test n) (fast-prime? n (- times 1)))(else false))) ; (define (sum term a next b) ; (if (> a b) ; 0 ; (+ (term a) ; (sum term (next a) next b))));ex 1.30 (define (sum term a next b)(define (iter a result)(if (> a b)result(iter (next a) (+ (term a) result))))(iter a 0));ex 1.31 (define (product term a next b)(define (iter a result)(if (> a b)result(iter (next a) (* (term a) result))))(iter a 1));ex 1.32 (define (accumulate1 combiner null-value term a next b)(define (iter a result)(if (> a b)result(iter (next a) (combiner (term a) result))))(iter a null-value));ex 1.33 (define (filtered-accumulate filter combiner null-value term a next b)(define (iter a result)(if (> a b)result(if (filter a)(iter (next a) (combiner (term a) result))(iter (next a) result))))(iter a null-value)) (define (inc n) (+ n 1))(define (cube x) (* x x x))(define (sum-cubes a b)(sum cube a inc b))(define (identity x) x)(define (sum-integers a b)(accumulate1 + 0 identity a inc b))(define (product-integers a b)(accumulate1 * 1 identity a inc b))(define (sum-integers-even a b)(filtered-accumulate even? + 0 identity a inc b))(define (product-integers-even a b)(filtered-accumulate even? * 1 identity a inc b)) ; (define (sum-integers a b) ; (sum identity a inc b)) ; (define (product-integers a b) ; (product identity a inc b)) )
转载于:https://www.cnblogs.com/sniperHW/archive/2013/05/22/3093818.html
sicp第一章部分习题解答相关推荐
- pdf 天线理论与技术 钟顺时_天线理论与技术第二版-钟顺时-第一章部分习题解答.pdf...
天线理论与技术第二版-钟顺时-第一章部分习题解答 第一次作业 Matlab 绘制电基本振子方向图和E 面H 面 1 1.1-1 ̅ ( ) ̅ ̅ ∇ × = ∇ × [ ] = − [( )] ̅ ...
- 机器学习 周志华 第一章课后习题
机器学习 周志华 第一章课后习题 1.1 1.2 1.3 1.4 1.5 1.1 在下面这张图片中若只包含编号为1和4的两个样例,试给出相应的版本空间. 书上实例: 1.表 1.1 对应的假设空间如下 ...
- linux课后作业答案第六章,操作系统 第六章作业习题解答
第六章作业习题解答 3.某操作系统的磁盘文件空间共有500块,若用字长为32位的位示图管理盘空间,试问: (1)位示图需多少个字? (2)第i字第j位对应的块号是多少? (3)并给出申请/归还一块的工 ...
- 数据结构python吕云翔_《数据结构》吕云翔编著第1章绪论习题解答
数据结构第一章绪论习题 一. [单选题] 1. ( A )是数据的基本单位. A.数据元素 B.数据对象 C.数据项 D.数据结构 2. ( C )是数据的不可分割的最小单位. A.数据元素 B.数据 ...
- 微课|玩转Python轻松过二级:第3章课后习题解答6
适用教材: 董付国.<玩转Python轻松过二级>.清华大学出版社,2018. 第3章 详解Python序列结构 课后习题解答227-236题 课后习题解答237-247题 书购买链接 ...
- 微课|玩转Python轻松过二级:第3章课后习题解答5
适用教材: 董付国.<玩转Python轻松过二级>.清华大学出版社,2018. 第3章 详解Python序列结构 课后习题解答180-200题 课后习题解答201-214题 课后习题解答 ...
- 微课|玩转Python轻松过二级:第3章课后习题解答4
2019年3月8日-10日公众号送书活动:中小学生Python课应该学什么 =============== 适用教材: 董付国.<玩转Python轻松过二级>.清华大学出版社,2018. ...
- 微课|玩转Python轻松过二级:第3章课后习题解答3
适用教材: 董付国.<玩转Python轻松过二级>.清华大学出版社,2018. 第3章 详解Python序列结构 课后习题解答103-115 课后习题解答116-129 课后习题解答13 ...
- 微课|玩转Python轻松过二级:第3章课后习题解答2
适用教材: 董付国.<玩转Python轻松过二级>.清华大学出版社,2018. 第3章 详解Python序列结构 课后习题解答46-58 课后习题解答59-82 课后习题解答83-102 ...
最新文章
- 分布式发布订阅消息系统Kafka单实例测试
- PHP登录密码的生成与验证
- zabbix 监控 Esxi
- java 定义xml_java中web.xml定义详解
- sqlite3修改表内容python_Python sqlite3数据库模块使用攻略
- 解决 RaspberryPi 树莓派 NTP服务异常 无法自动同步时间
- MyBatis自动生成步骤
- javascript 绘制uml_Javascript 设计模式之面向对象与 UML 类图
- 牛客网刷题记录(3)组合逻辑
- flask-uploads文件上传
- 80004005错误代码_Win7系统提示0X80004005错误代码怎样解决 Win7系统错误代码0x80004005的解决办法...
- 了解CI/CD流水线
- 股权融资的A、B、C、D轮
- JavaScript 学习笔记 - 12 JavaScript 应用示例
- 强化学习-把元学习(Meta Learning)一点一点讲给你听
- 根据PLL相噪测试曲线计算jitter的Matlab程序
- 职教云自动选题、答题并自动修改答题已用时间 脚本
- java中的char占几个字节
- 切换RequiredFieldValidator和RegularExpressionValidator提示信息的控件
- 云鲸扫拖一体机器人说明书_让做家务变的更简单:云鲸智能扫拖一体机器人测评...
热门文章
- PKU A Simple Problem with Integers 3468
- FlexChart: 针对AJAX的Flash绘图应用
- 哈佛大学 CS50,全美最受欢迎的计算机课程!
- 初学 C 语言没有项目练手?这 20 个小项目拿走不谢~
- php mysql实现每日签到积分_php+mysql+jquery实现日历签到功能
- mysql7种join连接_mysql 重新整理——七种连接join连接[六]
- 自定义JWT认证过滤器
- MySQL高级 trace工具
- 基于JWT的API权限校验:需求分析
- java builder.parse_JAVA之DocumentBuilder生成解析XML