帮助:Primality程序的功能

已知最大素数列表

找到非常大的素数天生就很困难。一些特殊形式的算法可能很容易理解,但对它们进行编程需要非常大的数的快速乘法。选择哪个要测试的数字也需要思考。使用主电源之前我们还应该强烈考虑用一些试验划分程序的类型。

各种各样的程序员都尽了最大努力来简化你。例如,在前二十名列表中,您可以看到那些在查找大多数素数时使用。但是如果你看看这个列表仔细看,你会发现我们正在比较苹果和橘子——列表中的程序经常做不同的事情。下面我将解释非常粗糙的我们将这些程序分为几个类别。

筛子,筛子
一个筛子可以快速去除组合较小的数字一大组潜在素数的除数。找到例如,记录双胞胎,在使用之前要仔细筛选确定(且耗时)的素性测试。
我们可以证明一个数字N个如果我们有足够的因子N个-1.在相当广泛的范围内实施此类测试的程序在数据库中,数字的类别用“减号”表示。
我们还可以证明一个数字N个如果我们有足够的因子N个+1.在相当广泛的范围内实施此类测试的程序在数据库中,数字的类别用加号表示。
古典的
有多种方法可以组合以下因素N个-1和N个+1,以及因素N个k个-1表示小整数k个实现这些组合测试中相对较大部分的程序是在数据库中标记为“classical”。
特殊的
“特殊”就是程序实现了一些有效的测试仅适用于非常特殊的素数形式(例如,Prime95只实现卢卡斯·莱默(Lucas-Lehmer)为梅森内斯(Mersennes)进行了测试,但做得非常好!)
一般的
最难写的程序类型可能是不使用经典测试快速显示大数素数以上。少数几个这样做的人被标记为“将军”。
其他
我还不确定这意味着什么。当然是别的比上面的。。。
笔记:
  • 上述类别范围很广,大致适用。要查看一个程序真正的功能是访问它的网站。
  • 我只列出了在已知最大的素数。在其他地方寻找适合小型企业的程序数字(比如少于5000位数)。
从PrimePages打印<t5k.org>©Reginald McLean。