Fibonacci sequence: Difference between revisions

m
Emacs Lisp: Improve formatting
(Fibonacci sequence en Yabasic)
m (Emacs Lisp: Improve formatting)
Line 4,045:
 
=={{header|Emacs Lisp}}==
 
===version 1===
<lang Emacs Lisp>
(defun fib (n a b c)
(if (< c n) (fib n b (+ a b) (+ 1 c) )
(if (= c n) b a) ))
 
<lang Lisp>(defun fibonaccifib (n) (if (< n 2) n (fib n 0 1a 1)b )c)
(cond
</lang>
(if ((< c n) (fib n b (+ a b) (+ 1 c) ))
===version 2===
(if (= c n) b a) ))
<lang Emacs Lisp>
(t a)))
 
(defun fibonacci (n)
(letif (< (vec) (i) (j) (k)n 2)
(if (< n 2) n
(fib n (progn0 1 1)))</lang>
 
(setq vec (make-vector (+ n 1) 0) i 0 j 1 k 2)
===version 2===
(setf (aref vec 1) 1)
 
(while (<= k n)
<lang Lisp>(defun fibonacci (n)
(setf (aref vec k) (+ (elt vec i) (elt vec j) ))
(setq ilet (+ 1vec i) j (+ 1 j) k (+ 1 k) ))
(eltif vec(< n) )))2)
n
</lang>
(setq vec (make-vector (+ n 1) 0) i 0 j 1 k 2)
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))))</lang>
 
<b>Eval:</b>
 
<lang Emacs Lisp>
<lang Lisp>(insert
(mapconcat '(lambda (n) (format "%d" (fibonacci n) ))
(number-sequence 0 15) " ") )</lang>
 
</lang>
{{out}}
<b>Output:</b>
 
<pre>
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610
</pre>
 
=={{header|Erlang}}==
Anonymous user