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))))))