【发布时间】:2021-12-24 12:13:39
【问题描述】:
我正在尝试显示一个小于上限的斐波那契数列,但我无法打印出受该上限约束的序列。
不使用命令式编程原理,声明setf、setq、set等变量,如何解决这个问题?
目前为止
(defun fibonacci (n &optional (a 0) (b 1))
(if (or (zerop n) (< a n)
nil)
(cons a (fibonacci (1- n) b (+ a b)))))
(fibonacci 100) 的预期输出:(0 1 1 2 3 5 8 13 21 34 55 89)。但是,我得到的是(0 1 1 2 3 5 8 13 21 34 55)。
【问题讨论】:
标签: recursion lisp common-lisp fibonacci clisp