【发布时间】:2015-10-11 14:03:26
【问题描述】:
如果
Mp=2p-1 是素数⇒
⇒ 2p-2⋮6 或 2p⋮6 ⇒
⇒ 2p-1-1⋮3 或 2p-1⋮3 ⇒
⇒ 2n-1⋮3 或 2n⋮3, n=p-1
为了选择 p 的大值来测试 Mp 是否是素数,我相信这是一个很好的初步测试,然后再进行计算量大的 Lucas-Lehmer 测试。
但是,测试两个数字 2n-1 和 2n 是否能被 3 整除的最快、最有效的方法是什么?
我们可以从中使用的其他信息是 n 总是以 0、2、6 或 8 结尾(因为 p=n+1 是素数)。也许它在某种程度上有所帮助。
【问题讨论】:
-
PHP 有一个余数函数 '%',它来自
5%2 = 1,其中 1 是从 5 切割成 2 的余数 (2x2 = 4, 5-4 = 1, remaining is 1) 。你能用这样的东西让33033%3 = 0= 可以被三整除吗? -
2^n 永远不能被 3 整除,因为根据定义它只能被 0 的 2^x 整除
-
既然你似乎已经有了你的数字的十进制表示:一个数字可以被 3 整除,它的十进制数字之和是否可以被 3 整除。可以应用递归。
标签: algorithm performance primes division