SCIP Fibonacci in tree-recursive and linear iteration.


tree-recursive
(defun fib(n)
  (cond ( (= n 0) 0)
	( (= n 1) 1)
	( (+ (fib (- n 1))
	       (fib (- n 2))))))



linear iteration
(defun fib_(n)
  (defun fib-iter (pre nxt index)
    (if (= index n)
	nxt
	(fib-iter  nxt
		   (+ pre nxt)
		   (+ index 1))))
  (fib-iter 0 1 1))

    
CL-USER> (fib_ 5)
5
CL-USER> (fib_ 6)
8
CL-USER> (fib_ 10)
55
CL-USER> (fib 10)
55

  
Edit in Emacs with Slime and Steel Bank Common Lisp.