数学中国

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

判定梅森质数的卢卡斯序列

  [复制链接]
发表于 2022-5-17 00:31 | 显示全部楼层
Private Sub Command1_Click()
Dim a, B, q
Dim t As Double
t = Timer
p1 = 3
q = Val(Text1)
Do While p1 <= q
p2 = Val(p1 + 30)
p3 = Val(p1 + 60)
p4 = Val(p1 + 90)
p5 = Val(7 * (p1 + 45) - 45)
p6 = Val(7 * (p1 + 45) - 15)
p7 = Val(7 * (p1 + 45) + 15)
p8 = Val(7 * (p1 + 45) + 45)
a = fenjieyinzi(Val(p1))
B = fenjieyinzi(Val(p2))
c = fenjieyinzi(Val(p3))
d = fenjieyinzi(Val(p4))
f = fenjieyinzi(Val(p5))
g = fenjieyinzi(Val(p6))
h = fenjieyinzi(Val(p7))
k = fenjieyinzi(Val(p8))
If InStr(a, "*") = 0 And InStr(B, "*") = 0 And InStr(c, "*") = 0 And InStr(d, "*") = 0 And InStr(f, "*") = 0 And InStr(g, "*") = 0 And InStr(h, "*") = 0 And InStr(k, "*") = 0 Then
s = s + 1
Print p1, p2, p3, p4
Text2 = Text2 & "(" & CStr(p1) & ", " & CStr(p2) & ")和  (" & p3 & "," & p4 & ")" & "和(" & p5 & "," & p6 & ")" & "和(" & p7 & "," & p8 & ")" & vbCrLf
Else
s = s
End If
p1 = Val(p1 + 2)
Loop

Combo1 = q & "内有" & s & "组蔡氏差为30的素数组:" & vbCrLf & Text2 & "用时" & Timer - t & "秒"

End Sub

点评

思路明捷精炼,堪称一级vb6大师。  发表于 2022-5-17 06:12
回复 支持 反对

使用道具 举报

发表于 2022-5-17 07:02 | 显示全部楼层
ysr 发表于 2022-5-16 16:31
Private Sub Command1_Click()
Dim a, B, q
Dim t As Double

回复您的点评:谢谢谬赞!欢迎探讨沟通!我仅仅初通几个语句,谈不上啥高手,愿意与爱好者结缘!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-17 17:06 | 显示全部楼层
设 p(t) 表示第t个素数,p# 表示前t个素数的乘积,

则 等差为p#的 (t+1)生素数对 有 无限多组。

则 等差为2*3的 三生素数对 有 无限多组,

则 等差为2*3*5的 四生素数对 有 无限多组,

则 等差为2*3*5*7的 五生素数对 有 无限多组,

则 等差为2*3*5*7*11的 六生素数对 有 无限多组,

则 等差为2*3*5*7*11*13的 七生素数对 有 无限多组,

则 等差为2*3*5*7*11*13*17的 八生素数对 有 无限多组,

则 存在任意长的等差p#的(t+1)生素数。


回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-17 20:14 | 显示全部楼层
设 p(t) 表示第t个素数,p# 表示前t个素数的乘积,

则 等差为p#的 (t+1)生素数对 有 无限多组。

则 等差为2*3的 三生素数对 有 无限多组,

则 等差为2*3*5的 四生素数对 有 无限多组,

则 等差为2*3*5*7的 五生素数对 有 无限多组,

则 等差为2*3*5*7*11的 六生素数对 有 无限多组,

则 等差为2*3*5*7*11*13的 七生素数对 有 无限多组,

则 等差为2*3*5*7*11*13*17的 八生素数对 有 无限多组,

则 存在任意长的等差p#的(t+1)生素数。


回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-18 12:04 | 显示全部楼层
【再生等差2310的六生素数对 有 解吗?】

设 k 为 固定正整数,且 1155 与 k 互素,

设 (p, p+2310, p+4620, p+6930, p+9240, p+11550) 是 等差2310的六生素数对,

使 (p+5775)*k -5775, (p+5775)*k -3465, (p+5775)*k -1155, (p+5775)*k+1155, (p+5775)*k+3465, (p+5775)*k+5775

也是 等差2310的六生素数对。

例 k=13 时的两对 再生等差2310的六生素数对 有 解吗,

回复 支持 反对

使用道具 举报

发表于 2022-5-18 16:05 | 显示全部楼层
蔡家雄 发表于 2022-5-18 04:04
【再生等差2310的六生素数对 有 解吗?】

设 k 为 固定正整数,且 1155 与 k 互素,

1000000内有1组蔡氏差为2310的素数组:
(267857, 270167)和  (272477,274787)和(277097,279407) 和(3551441, 3553751)和  (3556061,3558371)和(3560681,3562991)
用时449.359000000001秒

点评

赞一个!  发表于 2022-5-18 18:58
回复 支持 反对

使用道具 举报

发表于 2022-5-18 19:47 | 显示全部楼层
ysr 发表于 2022-5-18 08:05
1000000内有1组蔡氏差为2310的素数组:
(267857, 270167)和  (272477,274787)和(277097,279407) 和(35514 ...

回复您的点评:谢谢您点赞和鼓励!

10000000内有2组蔡氏差为2310的素数组:
(267857, 270167)和  (272477,274787)和(277097,279407)和(3551441, 3553751)和  (3556061,3558371)和(3560681,3562991)
(2517227, 2519537)和  (2521847,2524157)和(2526467,2528777)和(32793251, 32795561)和  (32797871,32800181)和(32802491,32804801)
用时11811.525秒

点评

cz1
厉害!厉害!  发表于 2022-5-18 20:29
回复 支持 反对

使用道具 举报

发表于 2022-5-18 20:40 | 显示全部楼层
Private Sub Command1_Click()
Dim a, B, q
Dim t As Double
t = Timer
p1 = 3
q = Val(Text1)
Do While p1 <= q
p2 = Val(p1 + 2310)
p3 = Val(p1 + 4620)
p4 = Val(p1 + 6930)
p5 = Val(p1 + 9240)
p6 = Val(p1 + 11550)
p7 = Val(13 * (p1 + 5775) - 5775)
p8 = Val(13 * (p1 + 5775) - 3465)
p9 = Val(13 * (p1 + 5775) - 1155)
p10 = Val(13 * (p1 + 5775) + 1155)
p11 = Val(13 * (p1 + 5775) + 3465)
p12 = Val(13 * (p1 + 5775) + 5775)

a = fenjieyinzi(Val(p1))
B = fenjieyinzi(Val(p2))
c = fenjieyinzi(Val(p3))
d = fenjieyinzi(Val(p4))
f = fenjieyinzi(Val(p5))
g = fenjieyinzi(Val(p6))
a1 = fenjieyinzi(Val(p7))
B1 = fenjieyinzi(Val(p8))
C1 = fenjieyinzi(Val(p9))
D1 = fenjieyinzi(Val(p10))
f1 = fenjieyinzi(Val(p11))
g1 = fenjieyinzi(Val(p12))

If InStr(a, "*") = 0 And InStr(B, "*") = 0 And InStr(c, "*") = 0 And InStr(d, "*") = 0 And InStr(f, "*") = 0 And InStr(g, "*") = 0 _
And InStr(a1, "*") = 0 And InStr(B1, "*") = 0 And InStr(C1, "*") = 0 And InStr(D1, "*") = 0 And InStr(f1, "*") = 0 And InStr(g1, "*") = 0 Then
s = s + 1
Print p1, p2, p3, p4
Text2 = Text2 & "(" & CStr(p1) & ", " & CStr(p2) & ")和  (" & p3 & "," & p4 & ")" & "和(" & p5 & "," & p6 & ")" & "和(" & CStr(p7) & ", " & CStr(p8) & ")和  (" & p9 & "," & p10 & ")" & "和(" & p11 & "," & p12 & ")" & vbCrLf
Else
s = s
End If
p1 = Val(p1 + 2)
Loop

Combo1 = q & "内有" & s & "组蔡氏差为2310的素数组:" & vbCrLf & Text2 & "用时" & Timer - t & "秒"

End Sub

点评

一个摆擂,一个攻擂。皆显章法,功到自然成。  发表于 2022-5-21 06:45
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 21:45 , Processed in 0.196289 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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