15 lines
353 B
EmacsLisp
15 lines
353 B
EmacsLisp
(defun fibonacci (n)
|
|
(let (vec i j k)
|
|
(if (< n 2)
|
|
n
|
|
(setq vec (make-vector (+ n 1) 0)
|
|
i 0
|
|
j 1
|
|
k 2)
|
|
(setf (aref vec 1) 1)
|
|
(while (<= k n)
|
|
(setf (aref vec k) (+ (elt vec i) (elt vec j)))
|
|
(setq i (1+ i)
|
|
j (1+ j)
|
|
k (1+ k)))
|
|
(elt vec n))))
|