数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: ysr

梅森素数的指数p的特征

[复制链接]
 楼主| 发表于 2025-5-25 22:36 | 显示全部楼层
有27位,用时0.7578125秒,M89是素数
有39位,用时2.898438秒,M127是素数
有48位,用时6.570313秒,M157不是素数
有78位,用时40.20313秒,M257不是素数
有157位,用时644.875秒,M521是素数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-5-25 22:41 | 显示全部楼层
本帖最后由 ysr 于 2025-5-25 14:43 编辑

一次仅仅能判断一个梅森数的程序,代码如下:

Private Sub Command1_Click() '判断梅森数的程序
Dim A, B
A = Text1
ts = Timer
B = ksm2(Val(A))
B = MPC(Trim(B), 1)
s = 4
Do While s1 <= Val(A - 1)
s1 = s1 + 1
s = MCC1(Trim(s), Trim(B))
s = zhengchuqyushu(Trim(s))
Print s
If s = 0 Then
t1 = t1 + 1
Else
t1 = t1
End If
s = MPC(MbC(Trim(s), Trim(s)), 2)
Loop

s3 = Len(B)
If t1 > 0 Then
Text3 = "有" & s3 & "位,用时" & Timer - ts & "秒" & ",M" & A & "是素数"
Else
Text3 = "有" & s3 & "位,用时" & Timer - ts & "秒" & ",M" & A & "不是素数"
End If

End Sub

Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Text3 = ""
Me.Cls
End Sub
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-5-25 22:41 | 显示全部楼层
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-5-25 22:48 | 显示全部楼层
程序速度太慢,40位以上的梅森素数远达不到1秒内判断一个的速度,78位以上的超过了40秒,而157位以上的甚至超过了10分钟。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-5-26 06:53 | 显示全部楼层
比如168291997这么大的数,用前面的程序可能算到猴年马月也算不完,若1秒算一步这么大的除法,则用时:168291997/3600=46747.7769444小时,合46747/24=1947.82天,
合1947/365=5年多,365*5=1825,1947-1825=122天

所以,速度慢的程序,根本算不完。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-5-26 08:28 | 显示全部楼层
那么问题来了,请问:2^168291997-1是不是素数?、

谁能快速判断出来?本论坛有没有这样的高手呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-15 18:15 , Processed in 0.082341 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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