2010-08-25から1日間の記事一覧

Common Lisp でフィボナッチ数列(末尾再帰)

フィボナッチ数列を末尾再帰で求める。 (defun mk-list (x max) (if (= x max) (list max) (cons x (mk-list (+ x 1) max)))) ;; 二重再帰 (defun fib (x) (cond ((= x 1) 1) ((= x 2) 1) (t (+ (fib (- x 1))(fib (- x 2)))))) (mapcar #'fib (mk-list 1 10…