额外减小 发表于 2023-3-2 23:34:28

梅森素数能用筛法求吗

如题
不知道梅森素数能否用筛法来更快地求出。(只要unsigned long long 范围的就行。)
纯属萌新,大佬勿喷()

额外减小 发表于 2023-3-2 23:44:27

就是说从素数里面能不能再进行一些筛选?

wp231957 发表于 2023-3-3 14:32:19

额外减小 发表于 2023-3-2 23:44
就是说从素数里面能不能再进行一些筛选?

一共也没几个数   一个一个的试呗

额外减小 发表于 2023-3-3 20:03:07

wp231957 发表于 2023-3-3 14:32
一共也没几个数   一个一个的试呗

噢,但这太慢了
我要求到第10个都得好几分钟
更别说后面的了
但如果后面没人回的话我就直接把你设最佳了

傻眼貓咪 发表于 2023-3-4 07:43:31

梅森素数条件 = 梅森数 + 素数
梅森数是2次方-1,这个简单,因为没有几个数值就已经很大了
素數的部分你可以用平常的方式判斷是否是素數

傻眼貓咪 发表于 2023-3-4 08:20:17

或者你可用卢卡斯-莱默质数判定法:
#Lucas–Lehmer primality test
def MersennePrimes(n):
        s = 4
        t = n - 2
        f = lambda s, M: ((s * s) - 2) % M
        M = (2 << (n - 1)) - 1
        res = None
        while t:
                t -= 1
                res = f(s, M)
                s = res
        return not res

print(MersennePrimes(11)) # M11 = 2047 不是梅森素数False

额外减小 发表于 2023-3-4 12:23:27

傻眼貓咪 发表于 2023-3-4 08:20
或者你可用卢卡斯-莱默质数判定法:

好吧,谢谢你
页: [1]
查看完整版本: 梅森素数能用筛法求吗