![]() |
1
13
这个 wiki page 始终是一个很好的起点,因为它完整地解释了算法并提供了带注释的伪代码。(注意,这里有很多细节,而且由于wiki网站是可靠的,所以我不会在这里引用。) 对于您提到的特定语言的参考: 希望有帮助。 |
![]() |
2
10
Wikipedia article 有一个解释:
让我们从著名的
让我们看看它是如何进行的,首先要做的几个步骤是:
普通人
下一个,
这是阿特金筛工作的顺序。无倍数 2, 3 或 五 在里面。阿特金和伯恩斯坦工作模块 六十 也就是说,它们是范围的两倍:
接下来,他们使用一些复杂的定理来了解每个数的一些性质,并相应地处理每个数。整个过程是重复的(a-la“轮子”),周期为 六十 .
那是什么意思?如果我们知道这个方程的解的个数是奇数,那么它就是质数。 如果 它是方形的。这意味着它没有重复的因素(比如 49, 121, 等)。 Atkin和Bernstein使用这一点来减少总体操作的数量:针对每个主要任务(从 七 然后向上),我们将 它的正方形 因此,它们比埃拉托斯滕筛中的要远得多,所以在给定的范围内,它们的数量更少。 其余规则如下:
这将处理定义中的所有16个核心数字
参见: Which is the fastest algorithm to find prime numbers?
埃拉托斯滕筛在制备高达
n
是
O(n log log n)
而阿特金的筛子是
o(n)
(把附加的放在一边
|
![]() |
3
3
对于维基百科页面伪代码中“x”和“y”变量的常见用法(或其他更好的atkin筛选实现)的基本解释,您可能会发现 my answer to another related question 乐于助人。 |
![]() |
4
2
这是一个C++实现的AtKin的筛选器,可能会帮助你…
|
![]() |
5
1
|
![]() |
Fusionist · 素数逻辑,循环中的n/2条件 7 年前 |
![]() |
Milad · JavaScript中的素数 7 年前 |
![]() |
distro · 具有流控制的嵌套列表理解 7 年前 |
![]() |
Renee · 打印所有小于50的素数[重复] 7 年前 |
![]() |
marcosh · Idris-定义素数类型 7 年前 |
![]() |
Marcus · 在Python中查找素数 7 年前 |
![]() |
AmR · Python使用count()初始化迭代器 7 年前 |
![]() |
Hanzy · 对于循环,语法错误:无法分配给函数调用[closed] 7 年前 |