e.v0
;; Number Nat -> Number ;; compute e to the x to the n-th approximation (define (e.v0 x n) (cond [(zero? n) 1] [else (+ (e.v0 x (sub1 n)) (/ (expt x n) (! n)))])) ;; where ;; ! : Nat -> Nat (define (! n) (if (= n 0) 1 (* n (! (sub1 n))))) ;; TEST (=~ (e.v0 1 10) e .01)
Solution:
;; [PTS 3: for build-list, foldr, and correctness] (define (e.v1 x n) (foldr + 0 (build-list n (lambda (i) (/ (expt x i) (! i))))))