鱼C论坛

 找回密码
 立即注册
查看: 1994|回复: 6

[已解决]梅森素数能用筛法求吗

[复制链接]
发表于 2023-3-2 23:34:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如题
不知道梅森素数能否用筛法来更快地求出。(只要unsigned long long 范围的就行。)
纯属萌新,大佬勿喷()
最佳答案
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

评分

参与人数 1荣誉 +1 收起 理由
Threebody1 + 1 好了,两个号限额都没了

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-3-2 23:44:27 | 显示全部楼层
就是说从素数里面能不能再进行一些筛选?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-3 14:32:19 | 显示全部楼层
额外减小 发表于 2023-3-2 23:44
就是说从素数里面能不能再进行一些筛选?

一共也没几个数   一个一个的试呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-3 20:03:07 | 显示全部楼层
wp231957 发表于 2023-3-3 14:32
一共也没几个数   一个一个的试呗

噢,但这太慢了
我要求到第10个都得好几分钟
更别说后面的了
但如果后面没人回的话我就直接把你设最佳了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-4 07:43:31 From FishC Mobile | 显示全部楼层
梅森素数条件 = 梅森数 + 素数
梅森数是2次方-1,这个简单,因为没有几个数值就已经很大了
素數的部分你可以用平常的方式判斷是否是素數
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-4 08:20:17 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
或者你可用卢卡斯-莱默质数判定法:
#  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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-4 12:23:27 | 显示全部楼层
傻眼貓咪 发表于 2023-3-4 08:20
或者你可用卢卡斯-莱默质数判定法:

好吧,谢谢你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 21:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表