【发布时间】:2010-09-11 17:46:02
【问题描述】:
计算给定数的除数的最佳算法(性能方面)是什么?
如果您能提供伪代码或某个示例的链接,那就太好了。
编辑:所有答案都非常有帮助,谢谢。我正在实施阿特金筛,然后我将使用类似于 Jonathan Leffler 指出的东西。 Justin Bozonier 发布的链接包含我想要的更多信息。
【问题讨论】:
-
考虑到您提出的因素数量是模糊的。我猜您正在寻找非唯一素数除数的数量,因为如果您不希望我编写代码,只需编写一个程序,如果要因子的数字是 1,则始终返回 1,如果是其他任何东西,则始终返回 2。 0 可能需要更改...
-
@sker:是否存在需要除数的值范围。计算因子的方法有很多种,每种方法都更适合特定的范围。
-
这是一个相关的有趣问题projecteuler.net/problem=12
-
即使是编辑过的 Wikipedia 文章中的阿特金天真的筛子也永远不会比埃拉托色尼的最大轮子分解筛子快到不切实际的极限,页面分段版本甚至更倾向于 SoE (请参阅 Atkin 的合作伙伴 Bernstein 实施的 SoE primesieve 与 SoA primegen。通常不正确的互联网知识是他们的研究证明 SoA 更快,但他们人为地限制了用于证明这一点的 SoE 的优化。请参阅my SoA answer 了解更多信息解释
标签: performance algorithm pseudocode