返回列表编号的阶乘

时间:2012-11-08 09:24:29

标签: list recursion lisp

我正在尝试实现一个函数,当被调用时返回列表中的数字因子。例如(事实'(2 4 3))=> (2 24 6)但我的不工作。我很确定我的实现逻辑是正确的,因为我找不到语法错误。因此,如果您可以查看并提供一些反馈,那么代码就是很好:

(defun fact (list)
    (cond ((null list) 0)
        ((zerop (first list) 1))
        (* first list(fact (rest list)))    
        ))

1 个答案:

答案 0 :(得分:2)

您似乎要做的是将一个阶乘函数应用于列表的每个成员,并将结果收集到列表中。

为此你需要一个阶乘函数和mapcar