数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 1232|回复: 6

第52个梅森素数又已经被找到

[复制链接]
发表于 2024-10-25 13:12 | 显示全部楼层 |阅读模式
第52个梅森素数又被找到了,找到者卢克好像又是美国人,是用GPU程序找到的。
据说专家已经用卢卡斯来默法测试了多次,确认了是个素数。

看来,梅森素数的确可能是无穷多的。


本帖子中包含更多资源

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

x
 楼主| 发表于 2025-10-11 12:35 | 显示全部楼层
Private Sub Command1_Click() '验证梅森数
'目前发现的三种可以分解的类型,因数分别是2p+1,6p+1,8p+1
'仅仅试除这3个因数
'梅森素数的判断一般用卢卡斯-莱莫法,我的程序速度慢所以数据大的没法用
'程序还需要改进
Dim A, B
A = Text1: B = Text2: c = Text3
B1 = B
ts = Timer

js5 = qksmimo(Trim(A), Trim(B1), Trim(c))
s3 = Len(B)
If js5 <> 1 Then
Text4 = "指数有" & s3 & "位,用时" & Timer - ts & "秒,余数是" & js5
Else
Text4 = "可能是梅森素数的指数"
End If
End Sub

Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
End Sub

评分

参与人数 1威望 +20 收起 理由
wlc1 + 20

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-10-19 09:46 | 显示全部楼层
136279841+1=136279842=2*3*1381*16447
136279841-1=136279840=2^5*5*851749
168291997+1=168291998=2*7*2113*5689
168291997-1=168291996=2^2*3*14024333
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-10-30 16:07 | 显示全部楼层
https://www.gmaese.com/html/xc52664-4-1/

电视剧《爱我就别想太多》
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-11-2 23:44 | 显示全部楼层
Public Function MbC(D1 As String, D2 As String) As String
Dim j1&, j2&, d&
Dim e As Double
Dim e1 As Double
   ' 按列法计算C=A*B
m = Trim(D1): n = Trim(D2)
x = Len(m) \ 4: Y = Len(n) \ 4
m = String(4 * x + 4 - Len(m), "0") & m
n = String(4 * Y + 4 - Len(n), "0") & n
x = x + 1: Y = Y + 1
Dim A(), B()
ReDim A(1 To x): ReDim B(1 To Y)
For i1 = 1 To x
A(i1) = Val(Mid(m, i1 * 4 - 3, 4))
Next
For i2 = 1 To Y
B(i2) = Val(Mid(n, i2 * 4 - 3, 4))
Next
ma = x: mb = Y
    MC = ma + mb
    ReDim c(MC)
    e1 = 0
    j1 = ma: j2 = ma
    For I = MC To 2 Step -1
        If I <= ma Then j2 = I - 1
        e = e1: e1 = 0
        For J = j1 To j2
            e = e + A(J) * B(I - J)
            If e > 2040000000 Then '减少进位次数
                e = e - 2040000000
                e1 = e1 + 204000
            End If
        Next J

        If j1 > 1 Then j1 = j1 - 1
base = 10000
        d = e \ base
        c(I) = e - d * base
        If Len(c(I)) < 4 Then
        c(I) = String(4 - Len(c(I)), "0") & c(I)
        Else
        c(I) = c(I)
        End If
jc = c(I) & jc
        e1 = e1 + d
    Next I
    jc = d & jc
   MbC = qqdl(Trim(jc))
End Function
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-11-3 06:37 | 显示全部楼层
Private Function qqdl(sa As String) As String

  
  For I = 1 To Len(sa)
    If Not Mid(sa, I, 1) = "0" Then
        Exit For
    End If
Next
strTmp = Mid(sa, I)
  If Len(strTmp) = 0 Then
  qqdl = "0"
  Else
qqdl = strTmp
End If
End Function

Private Function ksm2(sa As String) As String '2的快速幂程序
Dim A, B
A = Val(2): B = sa
If B = 1 Then
ksm2 = A
ElseIf B = 0 Then
ksm2 = 1
Else
a1 = A
Do While B > 1
s = Int(Log(B) / Log(2))
s1 = 0
Do While s1 < s
A = MbC(Trim(A), Trim(A))
s1 = s1 + 1
Loop
a2 = A
B = B - 2 ^ s
A = a1
If s2 > 0 Then
a3 = MbC(Trim(a3), Trim(a2))
Else
a3 = a2
End If
s2 = s2 + 1
Loop
If B = 1 Then
ksm2 = MbC(Trim(a3), Trim(a1))
Else
ksm2 = a3
End If
s3 = Len(ksm2)
ksm2 = ksm2
End If


End Function
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-11-4 07:44 | 显示全部楼层
#小程序://微商相册/ONRw8I3lnchbJCt

天慧博远书屋微信商店可以购买我的《数论探秘》
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-12-7 15:52 , Processed in 0.098708 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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