我的SICP习题答案(2.33~2.35)

我的SICP习题答案(2.33~2.35)

2.33

(define (map+ p seque)
  (accumulate (lambda(x y) (cons (p x) y)) null seque))

(define (append seq1 seq2)
  (accumulate cons seq2 seq1))

(define (length seque)
  (accumulate (lambda(x y) (+ 
1  y))  0  seque))

2.34

(define (horner-eval x coeff-seque)
  (accumulate (lambda(this-coeff higher-coeff) 
                (+ this-coeff (* x higher-coeff)))
              
0  coeff-seque))

2.35

(define (count-leaves+ t)
  (accumulate + 
0  (map (lambda(x)
                         (if (pair? x) (count-leaves+ x) 
1 ))
                       t)))


你可能感兴趣的:(我的SICP习题答案(2.33~2.35))