![]() |
1
7
这是我对米勒-拉宾首要性测试的实施;默认为5次随机试验,但您可以根据需要进行调整。循环打开 p 是小素数的快速返回。
|
|
2
5
对于一个适度大的数字,我会使用米勒-拉宾的Primality测试。您可以在这里找到Python代码: https://rosettacode.org/wiki/Miller%E2%80%93Rabin_primality_test#Python 请注意,该算法本质上是概率性的,但多次应用它将确保正确答案的概率非常高。 如果你绝对要使用一种基于试算除法的方法,我建议你用大量的小素数相乘并存储合成的数字。然后,您可以使用标准算法(如“fraction.GCD”)计算最大公因子(GCD)。如果答案不是1,那么测试的数字肯定不是素数。通常你会应用上面的米勒-拉宾测试来确定它是否是质数。 |