我正在尝试实现一个函数,当被调用时返回列表中的数字因子。例如(事实'(2 4 3))=> (2 24 6)但我的不工作。我很确定我的实现逻辑是正确的,因为我找不到语法错误。因此,如果您可以查看并提供一些反馈,那么代码就是很好:
(defun fact (list)
(cond ((null list) 0)
((zerop (first list) 1))
(* first list(fact (rest list)))
))
答案 0 :(得分:2)
您似乎要做的是将一个阶乘函数应用于列表的每个成员,并将结果收集到列表中。
为此你需要一个阶乘函数和mapcar
。