Skip to content

Instantly share code, notes, and snippets.

@wasabili
Created November 23, 2010 13:36
Show Gist options
  • Save wasabili/711765 to your computer and use it in GitHub Desktop.
Save wasabili/711765 to your computer and use it in GitHub Desktop.
Fib DP ver
(define (fib x)
(let* ((MAX-N 1000)
(dp (make-vector MAX-N #f))
(data (make-vector MAX-N)))
(let loop((num x))
(if (vector-ref dp x)
(vector-ref data x)
(let ((tmp (if (>= 2 num) 1 (+ (loop (- num 1)) (loop (- num 2))))))
(vector-set! dp num #t)
(vector-set! data num tmp)
tmp)))))
(display (fib 10))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment