【发布时间】:2010-12-17 14:30:11
【问题描述】:
我发现this page 描述了一些计算阶乘的算法。不幸的是,解释很简洁,我不想逐行筛选源代码来理解算法背后的基本原理。
谁能指出我对这些(或其他快速)计算阶乘算法的更详细描述?
编辑:This page 描述了素数分解方法,这是所有性能最佳的阶乘算法所共有的技术。它还包含一些不错的 Python 示例代码。作者链接到 a description of binary splitting 并引用了 Journal of Algorithms 中的一篇文章(“On the Complexity of Calculating Factorials”),如果我能得到它的话,看起来很有希望。
【问题讨论】:
-
如果你的阶乘很大,并且你想要一个近似值,不要忘记斯特林的近似值。我注意到该页面中没有提到它。 en.wikipedia.org/wiki/Stirling%27s_approximation
-
@Rooke:我正在寻找精确计算大阶乘......也许我应该在我的问题中更清楚。不过感谢您的建议!
-
你也可以试试我的Fast exact bigint factorial
标签: algorithm performance factorial