algorithm - 埃拉托色尼筛法是生成从 1 到 N 的素数的最佳算法吗?

标签 algorithm primes sieve-of-eratosthenes

我在一次采访中被问到这个问题。 我使用埃拉托色尼筛法概念和数组实现了一种算法。

有没有更好的方法来解决这个问题 对于那些不知道筛子的人,这是链接:

http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes

编辑:在时间和空间复杂性方面最好。 我只是告诉他们 SoE 的缺陷是空间复杂性。 所以他们问我是否可以做点什么。 以下是采访的过程: 1) 实现一个打印从 1 到 n 的素数的算法 答:我使用 SoE 实现 2)这是最好的方法吗 答:???

最佳答案

好吧,这取决于您所说的“最佳”是什么意思。 Eratosthenes 筛法很容易实现,但是 Sieve of Atkin会给你显着更好的性能。

因此,如果“最佳”意味着易于实现和理解,那么埃拉托色尼就是最佳选择。如果“最好”意味着想要展示您作为数学家的技能或拥有非常快的算法,那么阿特金就是您的不二之选。

关于algorithm - 埃拉托色尼筛法是生成从 1 到 N 的素数的最佳算法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5329126/

相关文章:

python - Python 中的 AKS Primes 算法

c++ - 超长冗余代码高效吗?

math - 如何在 O(1) 运行时间上查找素数

Java:埃拉托斯特尼筛法:数组作为参数

c - 查找素数时出现运行时错误

algorithm - 像素矩阵到坐标

python - Python 中的家谱

algorithm - 大于给定数的最小数是回文

algorithm - 将十进制转换为二进制 - 归纳法

python - 再次迭代,质因数循环,python