gpt4 book ai didi

algorithm - 计算阶乘的快速算法

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

我找到了 FastFactorialFunctions描述了一些计算阶乘的算法。不幸的是,解释很简洁,我不想逐行筛选源代码来理解算法背后的基本原理。

任何人都可以指出这些(或其他快速)算法的更详细描述,以快速计算大的精确阶乘吗?

Factorials with prime factorization (Python)描述素因式分解的方法,这是所有性能最佳的阶乘算法通用的技术。它还包含一些很好的 Python 示例代码。作者链接a description of binary splitting并引用了算法杂志中的一篇文章(“关于计算阶乘的复杂性”),如果我只能得到我的hands on,那篇文章看起来很有前途。

最佳答案

看看这个 paper (PDF link)理查德·法特曼着。代码示例在 Lisp 中,但无论如何,大部分 secret 归结为最小化您必须执行的 bignum(任意精度整数)计算的数量。

当然,如果您不需要/没有大数,那是微不足道的;查找表或简单循环都可以。

编辑:如果您可以使用近似答案,则可以通过对 k = 2 的 log(k) 求和来直接计算阶乘的对数... n,或使用古老的 Stirling approximation .您希望尽可能使用对数以避免溢出;特别是,斯特林近似的天真应用会在很多不需要的地方溢出。

关于algorithm - 计算阶乘的快速算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1751334/

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