2015/10/21

SICP 問題 2.34

(define (accumulate op initial sequence)
  (if (null? sequence)
      initial
      (op (car sequence)
          (accumulate op initial (cdr sequence)))))

(define (horner-eval x coefficient-sequence)
  (define (iter lis res)
    (cond ((null? lis) res)
          (else (iter (cdr lis) (+ (car lis) (* x res))))))
  (iter (reverse coefficient-sequence) 0))
gosh> (horner-eval 2 (list 1 3 0 5 0 1))
79

© 2022 wat-aro