数学中国

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

数论问题巅峰对决

[复制链接]
 楼主| 发表于 2022-5-28 21:47 | 显示全部楼层
ysr 发表于 2022-5-28 13:44
10000内有110组蔡氏素数:
33/35/37/39/41/43/45/47/49/51/53/55/57/59/61/63/65/67/69/71/
73/75/77/79 ...

10000内有464组蔡氏素数:
101/103/105/107/109/111/113/115/117/119/121/123/125/127/129/131/133/135/137/139/
141/143/145/147/149/151/153/155/157/159/161/163/165/167/169/171/173/175/177/179/
181/183/185/187/189/191/193/195/197/199/201/203/205/207/209/211/213/215/217/219/
221/223/225/227/229/231/233/235/237/239/241/243/245/247/249/251/253/255/257/259/
261/263/265/267/269/271/273/275/277/279/281/283/285/287/289/291/293/295/297/299/
301/用时12.5840000000069秒
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-28 21:50 | 显示全部楼层
Private Sub Command1_Click()
Dim a, B, q
Dim t As Double
t = Timer

q = Val(Text1)
m = 301
Do While m <= 501

p1 = 3
Do While p1 <= q And p1 <= m
p2 = Abs(Val((p1 - m) / 2))
p3 = Abs(Val(30 + p1))
p4 = Val(60 + p1)


a = fenjieyinzi(Val(p1))
B = fenjieyinzi(Val(p2))
c = fenjieyinzi(Val(p3))
d = fenjieyinzi(Val(p4))

If InStr(a, "*") = 0 And InStr(B, "*") = 0 And InStr(c, "*") = 0 And InStr(d, "*") = 0 Then
s = s + 1
Print p1, p2, p3, p4
s101 = s101 & "/" & m

Else
s = s
End If
p1 = Val(p1 + 2)
Loop
m = Val(m + 2)
Loop
s103 = Mid(s101, 1)
Dim i As Integer
Dim ak(), s105, cr(), f
Set f = CreateObject("Scripting.Dictionary")
s105 = Split(s103, "/")
   j1 = UBound(s105)
   Print j1
   For k = 1 To j1
      n1 = n1 + 1
       ReDim Preserve ak(1 To n1)
      ak(n1) = s105(n1)
    Next
    Print ak(1)
     n = 0
        For k = 1 To j1
           For i = 1 To j1

n = n + 1
             ReDim Preserve cr(1 To n)
            m = Val(ak(k))
            f(m) = ""
      Next
    Next
      n = 0
      m = f.Keys
      For i = 0 To f.Count - 1
          ReDim Preserve cr(1 To i + 1)
          cr(i + 1) = m(i)
      Next
     For i = 1 To UBound(cr) - 1
        For J = i + 1 To UBound(cr)
            If cr(i) > cr(J) Then
                temp = cr(J)
                cr(J) = cr(i)
                cr(i) = temp  'c数组是排序好的
            End If
        Next J
        
       ' If i Mod 20 = 0 Then
       ' s104 = s104 & temp & "/" & vbCrLf
       ' Else
       ' s104 = s104 & temp & "/"
       ' End If
    Next i
   
      For i = 1 To UBound(cr)
        If i Mod 20 = 0 Then
          s104 = s104 & cr(i) & "/" & vbCrLf
        Else
          s104 = s104 & cr(i) & "/"
        End If

Next
         Print temp
         MsgBox "ok"
     MsgBox s104  '显示数组

Text2 = s104

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

End Sub
回复 支持 反对

使用道具 举报

发表于 2022-5-30 19:43 | 显示全部楼层
本帖最后由 蔡家雄 于 2022-5-31 21:14 编辑

1742年,哥德巴赫提出:

偶数哥猜:2n >=4=p1+p2

奇数哥猜:2n+1 >=7=p1+p2+p3,不知哪一年,有人提出

奇数哥猜:2n+1 >=9=p1+2*p2

过了278年的2020年,我提出:

蔡氏偶数分拆

设 2n >=64,且 p1, p2=2n -p1, p3=2n -p1 -30 , p4=p1+30 都是素数,

则 2n -30=p1+p3 , 2n=p1+p2=p3+p4 , 2n+30=p2+p4 至少有一组素数(p1, p2, p3, p4)解。

蔡氏偶数分拆

设 2n >=280,且 p1, p2=2n -p1, p3=2n -p1 -210 , p4=p1+210 都是素数,

则 2n -210=p1+p3 , 2n=p1+p2=p3+p4 , 2n+210=p2+p4 至少有一组素数(p1, p2, p3, p4)解。

过了280年的2022年,我提出:

三素数猜想(加3型)

设 2n+1 >=61,且 p1, p2, p3=2*p2+3 都是素数,

则 2n+1=p1+2*p2 与 2n+4=p1+p3 至少有一组素数(p1, p2, p3)解。

三素数猜想(减3型)

设 2n+3 >=9,且 p1, p2, p3=2*p2 -3 都是素数,

则 2n+3=p1+2*p2 与 2n=p1+p3 至少有一组素数(p1, p2, p3)解。

蔡氏三素数猜想是偶数哥猜与奇数哥猜合二为一的素数解。


蔡氏四素数猜想

设 2n+15 >=49,且 p1, p2, p3=2*p2 -15, p4=2*p2+15 都是素数,

则 2n=p1+p3 与 2n+15=p1+2*p2 及 2n+30=p1+p4 至少有一组素数(p1, p2, p3, p4)解。

蔡氏四素数猜想是偶数哥猜与奇数哥猜合二为一的素数解。


蔡氏四素数猜想

设 2n+105 >=169,且 p1, p2, p3=2*p2 -105, p4=2*p2+105 都是素数,

则 2n=p1+p3 与 2n+105=p1+2*p2 及 2n+210=p1+p4 至少有一组素数(p1, p2, p3, p4)解。

蔡氏四素数猜想是偶数哥猜与奇数哥猜合二为一的素数解。



蔡氏八素数猜想

设 2n >=64,

且 p1, p2, p3=2*p2 -15, p4=2*p2+15, p5, p6, p7=2*p6 -15, p8=2*p6+15 都是素数,

则 2n -30=p1+p3, 2n -15=p1+2*p2, 2n=p1+p4=p5+p7, 2n+15=p5+2*p6, 2n+30=p5+p8,

至少有一组素数(p1, p2, p3, p4, p5, p6, p7, p8)解。

蔡氏八素数猜想是偶数哥猜与奇数哥猜合二为一的素数解。


蔡氏八素数猜想

设 2n >=280,

且 p1, p2, p3=2*p2 -105, p4=2*p2+105, p5, p6, p7=2*p6 -105, p8=2*p6+105 都是素数,

则 2n -210=p1+p3, 2n -105=p1+2*p2, 2n=p1+p4=p5+p7, 2n+105=p5+2*p6, 2n+210=p5+p8,

至少有一组素数(p1, p2, p3, p4, p5, p6, p7, p8)解。

蔡氏八素数猜想是偶数哥猜与奇数哥猜合二为一的素数解。


回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-30 21:21 | 显示全部楼层
Private Sub Command1_Click()
Dim a, B, q
Dim t As Double
t = Timer

q = Val(Text1)
m = 100
Do While m <= 200

p1 = 3
Do While p1 <= q And p1 <= m
p2 = Abs(Val(m - p1))
p3 = Abs(Val(m - p1 - 30))
p4 = Abs(Val(p1 + 30))
p5 = Abs(Val(m - 15 - p1) / 2)



a = fenjieyinzi(Val(p1))
B = fenjieyinzi(Val(p2))
c = fenjieyinzi(Val(p3))
d = fenjieyinzi(Val(p4))
f1 = fenjieyinzi(Val(p5))

If InStr(a, "*") = 0 And InStr(B, "*") = 0 And InStr(c, "*") = 0 And InStr(d, "*") = 0 And InStr(f1, "*") = 0 Then
s = s + 1
Print p1, p2, p3, p4

      
Text2 = Text2 & CStr(p1) & ", " & CStr(p2) & "," & p3 & "," & p4 & "," & p5 & ",2n+1=" & m & vbCrLf

Else
s = s
End If
p1 = Val(p1 + 2)
Loop
m = Val(m + 2)
Loop
Combo1 = q & "内有" & s & "组蔡氏素数:" & vbCrLf & Text2 & "用时" & Timer - t & "秒"

End Sub
回复 支持 反对

使用道具 举报

发表于 2022-5-30 22:32 | 显示全部楼层
2n=p1+p2=p3+p4,   p5=?

142=41+101=71+71,   p5=43,
144=7+137=107+37,    p5=61,
146=37+109=79+67,    p5=47,
148=11+137=107+41,  p5=61,
150=13+137=107+43,   p5=61,
152=43+109=79+73,    p5=47,
154=17+137=107+47,   p5=61,
156=59+97=67+89,      p5=41,

点评

ysr
好的,辛苦了,研究有意义。  发表于 2022-5-31 04:52
回复 支持 反对

使用道具 举报

发表于 2022-6-1 20:16 | 显示全部楼层
陈氏-蔡氏偶数分拆

设 2n >=32,且 p1, p2=p1+30, p3, p4 都是素数,

则 2n=p1+p3*p4 , 2n+30=p2+p3*p4 至少有一组素数(p1, p2, p3, p4)解。

陈氏-蔡氏偶数分拆

设 2n >=68,且 p1, p2=p1+210, p3, p4 都是素数,

则 2n=p1+p3*p4 , 2n+210=p2+p3*p4 至少有一组素数(p1, p2, p3, p4)解。

陈氏-蔡氏偶数分拆

设 2n >=32,且 p1, p2=p1+30, p3=p1+60, p4, p5 都是素数,

则 2n=p1+p4*p5 , 2n+30=p2+p4*p5 , 2n+60=p3+p4*p5 至少有一组素数(p1, p2, p3, p4, p5)解。

陈氏-蔡氏偶数分拆

设 2n >=68,且 p1, p2=p1+210, p3=p1+420, p4, p5 都是素数,

则 2n=p1+p4*p5 , 2n+210=p2+p4*p5 , 2n+420=p3+p4*p5 至少有一组素数(p1, p2, p3, p4, p5)解。


回复 支持 反对

使用道具 举报

发表于 2022-6-2 12:13 | 显示全部楼层
陈氏-蔡氏偶数分拆

设 2n >=32,且 p1, p2=p1+30, p3=p1+60, p4, p5 都是素数,

则 2n=p1+p4*p5 , 2n+30=p2+p4*p5 , 2n+60=p3+p4*p5 至少有一组素数(p1, p2, p3, p4, p5)解。

举例:有多个素数p1,满足 2n=2022 有解,且 p1+30 及 p1+60 都是素数,
则 2022 与 2022+30 及 2022+60 均有相同的二素数乘积 p4*p5 ,

2022=37+5*397
2022=41+7*283
2022=53+11*179
2022=79+29*67
2022=107+5*383
2022=181+7*263
2022=277+5*349
2022=337+5*337
2022=349+7*239
2022=379+31*53
2022=389+23*71
2022=419+7*229
2022=431+37*43
2022=461+7*223
2022=557+5*293
2022=617+5*281
2022=631+13*107
2022=709+13*101
2022=823+11*109
2022=827+5*239
2022=877+5*229
2022=881+7*163
2022=907+5*223
2022=911+11*101


点评

ysr
好的,辛苦了,好好研究一下,有趣有价值。  发表于 2022-6-2 14:44
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-2 14:53 | 显示全部楼层
'这个程序不仅可以判断素数还可以分解因数:

Private Function fenjieyinzi(sa As String) As String
Dim x, a, b, k As String
a = Val(sa)

x = 3
If a <= 1 Or a > Int(a) Then
If a = 1 Then
fenjieyinzi = "它既不是质数,也不是合数"

Else
MsgBox "error"
End If
  
Else

Do While a / 2 = Int(a / 2) And a >= 4
  
If b = 0 Then
fenjieyinzi = fenjieyinzi & "2"
b = 1
Else
fenjieyinzi = fenjieyinzi & "*2"
End If
a = a / 2
k = a
  
Loop

Do While a > 1
Do While x <= Sqr(a)
Do While a / x = Int(a / x) And a >= x * x
  
If b = 0 Then
fenjieyinzi = fenjieyinzi & x
b = 1
Else
fenjieyinzi = fenjieyinzi & "*" & x
End If
a = a / x
Loop
  
x = x + 2
Loop
  
k = a
a = 1
Loop
  
If b = 1 Then
fenjieyinzi = fenjieyinzi & "*" & k
Else
fenjieyinzi = "这是一个质数"
End If
  
  
  
  

End If

End Function
回复 支持 反对

使用道具 举报

发表于 2022-6-2 19:04 | 显示全部楼层
本帖最后由 蔡家雄 于 2022-6-2 22:05 编辑

陈氏-蔡氏偶数分拆

设 2n >=32,且 p1, p2=p1+30, p3=p1+60, p4, p5 都是素数,

则 2n=p1+p4*p5 , 2n+30=p2+p4*p5 , 2n+60=p3+p4*p5 至少有一组素数(p1, p2, p3, p4, p5)解。

陈氏-蔡氏偶数分拆

设 2n >=68,且 p1, p2=p1+210, p3=p1+420, p4, p5 都是素数,

则 2n=p1+p4*p5 , 2n+210=p2+p4*p5 , 2n+420=p3+p4*p5 至少有一组素数(p1, p2, p3, p4, p5)解。


陈氏-蔡氏偶数分拆

设 2n >=10^3,设 30C =300,600,2700,3600,3900,6000,7200,9000,

且 p1, p2=p1+30, p3=p1+30C, p4, p5 都是素数,

则 2n=p1+p4*p5 , 2n+30=p2+p4*p5 , 2n+30C=p3+p4*p5 至少有一组素数(p1, p2, p3, p4, p5)解。


回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-2 19:58 | 显示全部楼层
Private Function fenjieyinzi1(sa As String) As String
Dim a, b
Dim x As String
x = sa

y = fenjieyinzi3(Val(x))

If InStr(y, "*") = 0 Then
fenjieyinzi1 = y
Else
fenjieyinzi1 = Left(y, InStr(y, "*") - 1)
End If



End Function

Private Function fenjieyinzi3(sa As String) As String
Dim x, a, b, k As String
a = Val(sa)

x = 3
If a <= 1 Or a > Int(a) Then
If a = 1 Then
fenjieyinzi3 = 1

Else
MsgBox "error"
End If
  
Else

Do While a / 2 = Int(a / 2) And a >= 4
  
If b = 0 Then
fenjieyinzi3 = fenjieyinzi3 & "2"
b = 1
Else
fenjieyinzi3 = fenjieyinzi3 & "*2"
End If
a = a / 2
k = a
  
Loop

Do While a > 1
Do While x <= Sqr(a)
Do While a / x = Int(a / x) And a >= x * x
  
If b = 0 Then
fenjieyinzi3 = fenjieyinzi3 & x
b = 1
Else
fenjieyinzi3 = fenjieyinzi3 & "*" & x
End If
a = a / x
Loop
  
x = x + 2
Loop
  
k = a
a = 1
Loop
  
If b = 1 Then
fenjieyinzi3 = fenjieyinzi3 & "*" & k
Else
fenjieyinzi3 = sa
End If
  
  
  
  

End If

End Function
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 08:15 , Processed in 0.080079 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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