gpt4 book ai didi

performance - 在普通 lisp 中计算阶乘的最快方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:01:16 26 4
gpt4 key购买 nike

在 Common Lisp 中计算阶乘的最快方法是什么?首先是尾尾递归

(defun factorial (n &optional (acc 1))
(if (<= n 1)
acc
(factorial (- n 1) (* acc n))))

但这是最快的方法吗?

最佳答案

您已经实现了用于计算阶乘的朴素算法。有几个具有更好的渐近性能,例如参见 http://www.luschny.de/math/factorial/FastFactorialFunctions.htm

最快的是基于阶乘的质因数分解。

关于performance - 在普通 lisp 中计算阶乘的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19112197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com