码迷,mamicode.com
首页 > 其他好文 > 详细

SICP 1.40 1.41 1.42 1.43 1.44

时间:2014-08-30 19:15:41      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:os   ar   sp   on   c   ef   python   as   bs   

解:1.40

(define (cubic a b c)
  (lambda (x) (+ (* x x x) (* a x x) (* b x) c)))


1.41

(define (double f)
  (lambda (x) (f (f x))))

(double double) => (double (double f)),则

(double (double double)) => (double (double (double (double f))))

把inc代入f,得(((double (double double)) inc) 5)=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 dx 0.00001)

(define (smooth f)
  (lambda (x) (/ (+ (f (- x dx)) (f x) (f (+ x dx))) 3.0)))

n次平滑的生成函数为((repeated smooth n) f)

SICP 1.40 1.41 1.42 1.43 1.44

标签:os   ar   sp   on   c   ef   python   as   bs   

原文地址:http://my.oschina.net/u/1445655/blog/308340

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!