偶数的哥德巴赫解的拆分个数的研究程序
我是来向各位老师学习的,承蒙朋友抬爱选为版主,实在有愧!谢谢大家!发个程序,希望感兴趣的朋友关注,希望对您有所帮助!也许可能对您有用,先发一下程序结果和说明:
(偶数)(方根内的素数构成的素数和对个数)(总素数和对个数)
210 2 19
420 2 30
630 4 41
840 4 51
1050 5 57
1260 4 68
1470 6 73
1680 4 83
1890 7 91
2100 6 97
2310 7 114
2520 3 112
2730 9 128
2940 6 122
3150 4 138
3360 8 138
3570 10 154
3780 7 149
3990 5 163
4200 5 165
4410 6 171
4620 6 190
4830 8 189
其中的偶数公差为210,这样做总素数和对个数仍然有不规则波动,波动幅度明显减小。
原因是影响波动幅度的是素因子个数多少,尤其是小素因子,大素因子影响小或几乎没有影响,而210=2*3*5*7,含有4个不相同的素因子。
这样可以弄成多个公式,比如公差为210的可以用105个公式,来得到大于等于6的所有的偶数的哥德巴赫猜想解的公式,这些公式容易接近实际,因为这样的偶数数列的
哥德巴赫猜想解的个数波动很小,我们的公式结果是增函数是不波动的,就容易接近实际而不必跟踪波动,实际波动是不规则的无法跟踪,不可能处处合拍。
下面是另一个数列的结果:
(偶数)(方根内的素数构成的素数和对个数)(总素数和对个数)
6 0 1
216 1 13
426 3 21
636 4 28
846 4 32
1056 4 44
1266 3 42
1476 5 51
1686 4 56
1896 5 63
2106 6 71
2316 7 66
2526 2 68
2736 8 82
2946 5 87
3156 3 85
3366 8 105
3576 8 96
3786 6 96
3996 3 99
4206 4 105
4416 5 111
4626 5 110
4836 7 121
下面是程序代码和可执行程序(双击一下就可以打开并运行程序):
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
Private Sub Command1_Click()
Dim a, b
a = Val(Text1)
q = Val(Text3)
Do While a <= q
s = 0
m = Sqr(a)
a1 = 3
Do While a1 <= m
b = a - a1
c = fenjieyinzi(Val(a1))
d = fenjieyinzi(Val(b))
If InStr(c, "*") = 0 And InStr(d, "*") = 0 Then
s = s + 1
Else
s = s
End If
a1 = a1 + 2
Loop
a2 = a1
s1 = s
Do While a2 <= a / 2
b1 = a - a2
c1 = fenjieyinzi(Val(a2))
d1 = fenjieyinzi(Val(b1))
If InStr(c1, "*") = 0 And InStr(d1, "*") = 0 Then
s1 = s1 + 1
Else
s1 = s1
End If
a2 = a2 + 2
Loop
Text2 = Text2 & CStr(a) & " " & CStr(s) & " " & CStr(s1) & vbCrLf
Print a, s, s1
a = a + 210
Loop
Combo1.Text = "(偶数)(方根内的素数构成的素数和对个数)(总素数和对个数)" & vbCrLf & Text2.Text
End Sub
Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Text3 = ""
Combo1 = ""
Form1.Cls
End Sub
偶数的素数和对拆分分行列表.zip
(5.61 KB)
问题就是如何通过这些数据,分别搞出拟合函数(就是哥德巴赫猜想解的个数公式)?当然有些数学软件可以做到(起码是近似的),比如excel等。(明天试试再发一下拟合函数结果,谢谢朋友关注沟通!欢迎讨论!)
(比如6=3+3,我们就说6有1对哥德巴赫猜想解,而10=3+7=5+5,我们就说10有两对哥德巴赫猜想解,就是两个“1+1”。)
[此贴子已经被作者于2020-11-8 22:04编辑过]