计算有效的方法来检查大数是否可以被3整除

时间:2015-10-11 14:03:27

标签: algorithm performance primes division

如果

M p = 2 p -1是素数⇒

⇒2 p -2⋮6或2 p ⋮6⇒

⇒2 p-1 -1⋮3或2 p-1 ⋮3⇒

⇒2 n -1⋮3或2 n ⋮3,n = p-1

为了选择p的巨大值来测试M p 是否为素数,我相信在进行计算成本昂贵的Lucas-Lehmer测试之前,这是一个很好的初步测试。

但是,如果两个数字2 n -1和2 n 可以被3整除,那么测试最快,最有效的方法是什么?

我们可以使用的其他信息是n总是以0,2,6或8结尾(因为p = n + 1是素数)。也许它在某种程度上有所帮助。

2 个答案:

答案 0 :(得分:4)

很容易证明:

2^n mod 3
== 1 if n is even
== 2 if n is odd

使用数学归纳法。

所以2 n 永远不会被3整除,并且只有当n是偶数时,2 n -1才能被3整除。

答案 1 :(得分:0)

对数字求和,如果结果可以被3分割,那么它是。 EA

25681 = 2 + 5 + 6 + 8 + 3 = 24(= 2 + 4)= 6可分割。