CG@CPPBLOG

/*=========================================*/
随笔 - 76, 文章 - 39, 评论 - 137, 引用 - 0
数据加载中……

我的SICP习题答案(1.40~1.44)

;;;;;;;;;;;
;
1.43
(define (double f)
  (lambda(x) (f (f x))))
;;(((double (double double)) inc) 5) = 5+16 =21

;;;;;;;;;;;;;
;
1.42
(define (compose f g)
  (lambda(x) (f (g x))))

;;;;;;;;;;;;;;;
;
1.43
(define (repeated f n)
  (if(
= n 1) f
     (compose f (repeated f (- n 
1)))))

;;;;;;;;;;;;;;;;
;
1.44
(define (smooth f)
  (lambda(x) (/ (+ (f (- x dx))
                   (f x)
                   (f (+ x dx)))
                
3)))
(define (smooth-n f)
  (repeated f n))
(define (smooth-n f n)
  ((repeated smooth n) f))


posted on 2008-04-19 23:49 cuigang 阅读(914) 评论(6)  编辑 收藏 引用 所属分类: Lisp/Scheme我的SICP答案

评论

# re: 我的SICP习题答案(1.40~1.44)  回复  更多评论   

加油, 希望坚持下去.
2008-04-21 20:47 | dawn.soup

# re: 我的SICP习题答案(1.40~1.44)[未登录]  回复  更多评论   

@dawn.soup

我会努力的
2008-04-21 23:38 | cuigang

# re: 我的SICP习题答案(1.40~1.44)  回复  更多评论   

(define (smooth-n f)
(repeated f n))

n何来?
2008-07-31 11:40 | xiaokang

# re: 我的SICP习题答案(1.40~1.44)  回复  更多评论   

@xiaokang

的确写错了,应该是
(define (smooth-n f n)
((repeated smooth n) f))

谢谢指正。
2008-08-03 14:08 | cuigang

# re: 我的SICP习题答案(1.40~1.44)[未登录]  回复  更多评论   

怎么没有45 46 的答案
chenxiongqian@gmail.com
2012-09-15 14:56 | vincent

# re: 我的SICP习题答案(1.40~1.44)  回复  更多评论   

请教一下1.41(((double (double double)) inc) 5)为什么不是将inc用了double^3=8次,得到13呢?谢谢~~~
2014-07-28 10:37 | 姚俊

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理