Back to slide -- Keyboard shortcut: 'u'        next -- Keyboard shortcut: 'n'          trampoline-candidates.scm - A few functions - to be trampolined below.Lecture 3 - slide 42 : 43
Program 1

(define (fact-iter n acc)
  (if (zero? n)
      acc
      (fact-iter
        (- n 1)
        (* acc n))))

(define (mem? n lst)
  (cond ((null? lst) #f)
        ((= (car lst ) n) #t)
        (else (mem? n (cdr lst)))))

(define (fib n)
  (fib-iter n 0 0 1))

(define (fib-iter n i small large)
  (if (< i n)
      (fib-iter n (+ i 1) large (+ large small))
      small))


;  > (fact-iter 5 1)
;  120
;  > (mem? 5 (list 1 2 3 4 5 6))
;  #t
;  > (fib 8)
;  21