(if (<= n 2) (list 1 1) (let ((so-far (fib-list (- n 1)))) (cons (+ (car so-far) (car (cdr so-far))) so-far )) ))(define (fib n) (car (fib-list n)))
(if (< n 2) (list 1 1) (let ((so-far (fib-list (- n 1)))) (cons (+ (car so-far) (car (cdr so-far))) so-far))))(define (fib n) (car fib-list n))
(define (fib n ) (car(fib-list n) ))
(define (fib-list n) (if (< n 2) (list 1 1) (let ((so-far (fib-list(- n 1)))) (cons (+(car so-far) (car (cdr so-far))) so-far))))
(define (fib n) (car (fibonacci-list n)))
(define (fibonacci-list n) (if (or (= n 0) (= n 1)) (list 1 1) (let ((so-far (fibonacci-list (- n 1)))) (cons (+ (car so-far) (car (car so-far))) so-far))))(Edited: 2021-11-17)
(define (fib input) (cond ((< input 0) null) ((= input 0) (set! fib-list (cons (cons 0 1) fib-list)) 1) ((= input 1) (set! fib-list (cons (cons 1 1) fib-list)) 1) ((> input 1) (+ (fib (- input 1)) (fib (- input 2))) )))
(if (< n 2) (list 1 1) (let ((so-far (fib-list (- n 1)))) (cons (+ (car so-far) (car (cdr so-far))) so-far)))(define (fib n) (car fib-list n)))