数学中国

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

数论问题巅峰对决

[复制链接]
 楼主| 发表于 2020-7-26 02:30 | 显示全部楼层
1~40000内的素数间隔2/4/6/8/10/12/14/16/18/20/22/24/26/28/30/32/34/36/38/40/
42/44/48/50/52/54/62/72/差2=591 差4=580 差6=918 差8的=345 差10的=397 差12=426 差14=196 差16=143 差18=209 差20=87 差22=85 差24=56 差34的=13最大的其中素数是39989
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-29 20:43 | 显示全部楼层
有网友要我找到差为100的最小的相邻素数对,用我的公式很快就找到了。用我的公式得到差为100的相邻素数对至少在390625以上,很快就在396000~398000之间找到了:
396000与398000之间有150个素数:
/396001/396029/396031/396041/396043/396061/396079/396091/396103/396107/396119/396157/396173/396181/396197/396199/396203/396217/396239/396247/396259/396269/396293/396299/396301/396311/396323/396349/396353/396373/396377/396379/396413/396427/396437/396443/396449/396479/396509/396523/396527/396533/396541/396547/396563/396577/396581/396601/396619/396623/396629/396631/396637/396647/396667/396679/396703/396709/396713/396719/396733/396833/396871/396881/396883/396887/396919/396931/396937/396943/396947/396953/396971/396983/396997/397013/397027/397037/397051/397057/397063/397073/397093/397099/397127/397151/397153/397181/397183/397211/397217/397223/397237/397253/397259/397283/397289/397297/397301/397303/397337/397351/397357/397361/397373/397379/397427/397429/397433/397459/397469/397489/397493/397517/397519/397541/397543/397547/397549/397567/397589/397591/397597/397633/397643/397673/397687/397697/397721/397723/397729/397751/397753/397757/397759/397763/397799/397807/397811/397829/397849/397867/397897/397907/397921/397939/397951/397963/397973/397981
396000~398000内的素数间隔2/4/6/8/10/12/14/16/18/20/22/24/26/28/30/32/34/36/38/48/
100/差2=18 差4=18 差6=23 差8的=6 差10的=13 差12=11 差14=12 差16=5 差18=8 差20=6 差22=4 差24=6 差34的=2最大的是396833-396733=100.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-1 11:50 | 显示全部楼层
1~40000内的素数间隔2/4/6/8/10/12/14/16/18/20/22/24/26/28/30/32/34/36/38/40/
42/44/48/50/52/54/62/72/共有4202个素数。差2=591 差4=580 差6=918 差8的=345 差10的=397 差12=426 差14=196 差16=143 差18=209 差20=87 差22=85 差24=56 差34的=13最大的其中素数是39989
观察了一下,每组第三个点取出来更合适,不管高低,每组剩余的两个差别不大。
把一个数列拆开成3个数列,也许这样会准确一点。
由点(1,591)(2,345)(3,196)
(1,580)(2,397)(3,143)
(1,918)(2,426)(3,209)
拟合函数如下:
y1=48.5x^2-391.5x+934,y2=31.25x^2-330.15x+892.25,y3=84.75x^2-704.05x+1526.8
最大素数间距按4c1=40算,40/2/3=6,对y1,y2积分从1~7分别是1737,992.4,对y3积分从1~6,得到1386.875
1737+992+1386=4115
实际是4202,而4202-4115=87.
可能是准确,但是太麻烦了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-2 23:06 | 显示全部楼层
40000内的素数个数是4127.19487585438
实际是4202.
代码如下:
Private Sub Command1_Click()
Dim a, b, c
a = Val(Text1)
a2 = Log(a) / Log(10)
a1 = 117.61 * a2 ^ 2 - 954.97 * a2 + 1952.5
b1 = 608.46 * a2 ^ 2 - 4807.6 * a2 + 9630.1 - 0.3
c1 = 1076.1 * a2 ^ 2 - 8236.7 * a2 + 16050
a3 = a / 4
d1 = Int(a3 ^ (1 / 4)) * 4
d = Int(d1 / 6) + 1
Text3 = c1
s1 = a1 * (d ^ 3 - 1) / 3 - b1 * (d ^ 2 - 1) / 2 + c1 * (d - 1)
a4 = -28.047 * a2 ^ 2 + 265.45 * a2 - 596.35
b2 = -53.992 * a2 ^ 2 + 780.68 * a2 - 2119.1
c2 = 536.49 * a2 ^ 2 - 3691.9 * a2 + 6520.5
s2 = a4 * (d ^ 3 - 1) / 3 - b2 * (d ^ 2 - 1) / 2 + c2 * (d - 1)
a6 = 47.738 * a2 ^ 2 - 339.77 * a2 + 637.35
d = d - 1
b3 = 553.61 * a2 ^ 2 - 4087.1 * a2 + 7788.3
c3 = 1500.9 * a2 ^ 2 - 11269 * a2 + 21600
s3 = a6 * (d ^ 3 - 1) / 3 - b3 * (d ^ 2 - 1) / 2 + c3 * (d - 1)
s = s1 + s2 + s3
Text2 = a & "内的素数个数是" & s
End Sub

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

9000内的素数个数是868.157783697669
实际是1116个。
24000内的素数个数是2004.10319999926
实际是2667个.
10000内的素数个数是887.009333333317
实际是1229个.
在40000内是个下限.
在100000以上就是上线了,所以,还要在公式调整上下功夫。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-2 23:08 | 显示全部楼层
100000内的素数个数是9538.65833333321
实际是9591个。
代码如下:
Private Sub Command1_Click()
Dim a, b, c
a = Val(Text1)
a2 = Log(a) / Log(10)
a1 = 117.61 * a2 ^ 2 - 954.97 * a2 + 1952.5
b1 = 608.46 * a2 ^ 2 - 4807.6 * a2 + 9630.1 - 0.3
c1 = 1076.1 * a2 ^ 2 - 8236.7 * a2 + 16050
a3 = a / 4
d1 = Int(a3 ^ (1 / 4)) * 4
d = Int(d1 / 6) - 1
Text3 = c1
s1 = a1 * (d ^ 3 - 1) / 3 - b1 * (d ^ 2 - 1) / 2 + c1 * (d - 1)
a4 = -28.047 * a2 ^ 2 + 265.45 * a2 - 596.35
b2 = -53.992 * a2 ^ 2 + 780.68 * a2 - 2119.1
c2 = 536.49 * a2 ^ 2 - 3691.9 * a2 + 6520.5
d = d + 1
s2 = a4 * (d ^ 3 - 1) / 3 - b2 * (d ^ 2 - 1) / 2 + c2 * (d - 1)
a6 = 47.738 * a2 ^ 2 - 339.77 * a2 + 637.35
d = d - 1
b3 = 553.61 * a2 ^ 2 - 4087.1 * a2 + 7788.3
c3 = 1500.9 * a2 ^ 2 - 11269 * a2 + 21600
s3 = a6 * (d ^ 3 - 1) / 3 - b3 * (d ^ 2 - 1) / 2 + c3 * (d - 1)
s = s1 + s2 + s3
Text2 = a & "内的素数个数是" & s
End Sub

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

使用道具 举报

 楼主| 发表于 2020-8-2 23:09 | 显示全部楼层
1000000内的素数个数是78177.5773333331
实际是78498.
代码调整为如下:
Private Sub Command1_Click()
Dim a, b, c
a = Val(Text1)
a2 = Log(a) / Log(10)
a1 = 117.61 * a2 ^ 2 - 954.97 * a2 + 1952.5
b1 = 608.46 * a2 ^ 2 - 4807.6 * a2 + 9630.1 - 0.3
c1 = 1076.1 * a2 ^ 2 - 8236.7 * a2 + 16050
a3 = a / 4
d1 = Int(a3 ^ (1 / 4)) * 4
d = Int(d1 / 6) - 4
Text3 = c1
s1 = a1 * (d ^ 3 - 1) / 3 - b1 * (d ^ 2 - 1) / 2 + c1 * (d - 1)
a4 = -28.047 * a2 ^ 2 + 265.45 * a2 - 596.35
b2 = -53.992 * a2 ^ 2 + 780.68 * a2 - 2119.1
c2 = 536.49 * a2 ^ 2 - 3691.9 * a2 + 6520.5
d = d - 1
s2 = a4 * (d ^ 3 - 1) / 3 - b2 * (d ^ 2 - 1) / 2 + c2 * (d - 1)
a6 = 47.738 * a2 ^ 2 - 339.77 * a2 + 637.35
d = d - 1
b3 = 553.61 * a2 ^ 2 - 4087.1 * a2 + 7788.3
c3 = 1500.9 * a2 ^ 2 - 11269 * a2 + 21600
s3 = a6 * (d ^ 3 - 1) / 3 - b3 * (d ^ 2 - 1) / 2 + c3 * (d - 1)
s = s1 + s2 + s3
Text2 = a & "内的素数个数是" & s
End Sub

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

使用道具 举报

 楼主| 发表于 2020-8-3 11:00 | 显示全部楼层
某数内的最大素数的估算公式,也可以用类似的方法,虽然还没有得到更精确的公式,但已经可以证明不是不可能,也不是不存在,而是完全可行的。而且公式和方法不是唯一的!
只要明白了素数分布的规律,就可以随心所欲的构造公式,公式几乎是无穷的。
数学很好玩,尤其基础数学,有无穷的发展空间,研究无止境,广阔天地大有作为。

要想发表成果,中国数学烂到没有平台,唯一的出路就是,自费出书。

心情好了,我就可以考虑自费出书,在有生之年,留下真理,留下个生命的痕迹!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-4 23:41 | 显示全部楼层
本帖最后由 ysr 于 2020-8-4 15:45 编辑

10^5内的素数个数是8898.6974874999   10^6内的素数个数是86799.5879107997   10^7内的素数个数是519772.445123499   10^8内的素数个数是1857108.65318132   10^9内的素数个数是50740713.4792312   10^10内的素数个数是448771815.598691   10^11内的素数个数是4079492265.66428   10^12内的素数个数是3559484984.55512   10^13内的素数个数是341477310398.896   10^14内的素数个数是3186318831887.39   10^15内的素数个数是29814306755064.9   10^16内的素数个数是271238316485451   10^17内的素数个数是2.37351754594648E+15   10^18内的素数个数是2.001810553244E+16   10^19内的素数个数是1.63219358308064E+17   10^20内的素数个数是1.29176015355109E+18   10^21内的素数个数是9.96052931258817E+18   10^22内的素数个数是7.50875377112113E+19   10^23内的素数个数是5.54974317746982E+20   10^24内的素数个数是4.03108299333097E+21   10^25内的素数个数是2.88336417774683E+22   10^26内的素数个数是2.03444512371415E+23   10^27内的素数个数是1.41803909347821E+24   10^28内的素数个数是9.77600286342043E+24   10^29内的素数个数是6.6730890887056E+25   
代码如下:
Private Sub Command1_Click()
Dim a, b, c
a = Trim(Text1)
Do While Log(a) / Log(10) < 28
a = MbC(Trim(a), 10)
a2 = Log(a) / Log(10)
a1 = 117.61 * a2 ^ 2 - 954.97 * a2 + 1952.5
b1 = 608.46 * a2 ^ 2 - 4807.6 * a2 + 9630.1 - 0.3
C1 = 1076.1 * a2 ^ 2 - 8236.7 * a2 + 16050
a3 = a / 4
D1 = Int(a3 ^ (1 / 4)) * 4
d = Int(D1 / 6) + 1
s1 = a1 * (d ^ 3 - 1) / 3 - b1 * (d ^ 2 - 1) / 2 + C1 * (d - 1)
a4 = -28.047 * a2 ^ 2 + 265.45 * a2 - 596.35
b2 = -53.992 * a2 ^ 2 + 780.68 * a2 - 2119.1
C2 = 536.49 * a2 ^ 2 - 3691.9 * a2 + 6520.5
s2 = a4 * (d ^ 3 - 1) / 3 - b2 * (d ^ 2 - 1) / 2 + C2 * (d - 1)
a6 = 47.738 * a2 ^ 2 - 339.77 * a2 + 637.35
d = d - 1
b3 = 553.61 * a2 ^ 2 - 4087.1 * a2 + 7788.3
c3 = 1500.9 * a2 ^ 2 - 11269 * a2 + 21600
s3 = a6 * (d ^ 3 - 1) / 3 - b3 * (d ^ 2 - 1) / 2 + c3 * (d - 1)
s = s1 + s2 + s3
If a2 <= 9 Then
js = 0.0549 * a2 ^ 2 - 0.8831 * a2 + 3.5995 - 0.02
s = js * s
ElseIf a2 <= 12 Then
js = -0.0484 * a2 ^ 2 + 1.0293 * a2 - 5.3684 - 0.0025
s = js * s
Else
js = 0.0121 * a2 ^ 2 - 0.2751 * a2 + 1.6879 - 0.00734
s = js * s
End If
Text2 = Text2 & "10^" & a2 & "内的素数个数是" & s & "   "
Loop
Text3 = C1
End Sub

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

实际10^25内有176 846 309 399 143 769 411 680 个素数,所以,上面的结果除了10^6大于实际(实际是78498)外其他都是下限。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-5 14:54 | 显示全部楼层
10^5内的素数个数下限为 9564
10^6内的素数个数下限为 78462
10^7内的素数个数下限为 664564
10^8内的素数个数下限为 5761404
10^9内的素数个数下限为 50827701
10^10内的素数个数下限为 454496451
10^11内的素数个数下限为 4108567823
10^12内的素数个数下限为 37379740471
10^13内的素数个数下限为 338635677533
10^14内的素数个数下限为 3116512248420
10^15内的素数个数下限为 28996426245836
10^16内的素数个数下限为 271563757446578
10^17内的素数个数下限为 2.5550602489082E+15
10^18内的素数个数下限为 2.4128627212137E+16
10^19内的素数个数下限为 2.28579506885069E+17
10^20内的素数个数下限为 2.17148281572965E+18
10^21内的素数个数下限为 2.06807209550061E+19
10^22内的素数个数下限为 1.9740667728589E+20
10^23内的素数个数下限为 1.88823716399233E+21
10^24内的素数个数下限为 1.80956042798225E+22
10^25内的素数个数下限为 1.73717795393892E+23
10^26内的素数个数下限为 1.67036339994037E+24
10^27内的素数个数下限为 1.60849808356074E+25
10^28内的素数个数下限为 1.55105172182634E+26
10^29内的素数个数下限为 1.49756717920368E+27
代码如下:
Private Sub Command1_Click()
Dim a, b, c
a = Trim(Text1)
Do While Log(a) / Log(10) < 28
a = MbC(Trim(a), 10)
b = Sqr(a)
c = a / Log(a)
If a > 10 ^ 11 Then
s = 1
Do While Int(b ^ (2 ^ (1 - s))) > 1
b6 = b ^ (2 ^ (1 - s))
b7 = 2 ^ (s + 14) * b6 + b7
Print b7
s = s + 1
Loop
c = (a + b7) / Log(a)
ElseIf a > 10000000 Then
a1 = Log(a) / Log(10)
b2 = Exp(1.033 * a1)
b1 = 0.159 * b2
b4 = (1.74136140824861 ^ (1.8 * a1)) / 4.9
b5 = (b1 + b4) / 2
c = (a + (b5 + 4) * b) / Log(a)
ElseIf a >= 10000 Then
a1 = Log(a) / Log(10)
b3 = (56 * a1 ^ 3 - 741 * a1 ^ 2 + 3367 * a1 - 5142) / 6
c = (a + (b3 + 4) * b) / Log(a)
ElseIf a >= 1000 Then
c = (a + 4 * b) / Log(a)
ElseIf a > 500 Then
c = (a + 2 * b) / Log(a)
Else
c = c
End If
d = a / c
D1 = Int(c) * d
Text2 = Text2 & "10^" & Log(a) / Log(10) & "内的素数个数下限为 " & Int(c) & vbCrLf
Loop
Text3 = D1
End Sub

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

使用道具 举报

 楼主| 发表于 2020-8-5 15:06 | 显示全部楼层
本帖最后由 ysr 于 2020-8-5 07:09 编辑

10^5内的素数个数下限为 9564
10^6内的素数个数下限为 78462
10^7内的素数个数下限为 664564
10^8内的素数个数下限为 5761404
10^9内的素数个数下限为 50827701
10^10内的素数个数下限为 454496451
10^11内的素数个数下限为 4108567823
10^12内的素数个数下限为 36752172817
10^13内的素数个数下限为 338737051311
10^14内的素数个数下限为 3142271473882
10^15内的素数个数下限为 29309957514459
10^16内的素数个数下限为 274696794821323
10^17内的素数个数下限为 2.58522835526676E+15
10^18内的素数个数下限为 2.4419578416105E+16
10^19内的素数个数下限为 2.31415997154352E+17
10^20内的素数个数下限为 2.19944231473799E+18
10^21内的素数个数下限为 2.09586247104855E+19
10^22内的素数个数下限为 2.00181785074578E+20
10^23内的素数个数下限为 1.91596631044789E+21
10^24内的素数个数下限为 1.83716965505144E+22
10^25内的素数个数下限为 1.76445494229118E+23
10^26内的素数个数下限为 1.69699004821808E+24
10^27内的素数个数下限为 1.634070384567E+25
10^28内的素数个数下限为 1.57511328226637E+26
10^29内的素数个数下限为 1.51965577480259E+27
代码如下:
Private Sub Command1_Click()
Dim a, b, c
a = Trim(Text1)
Do While Log(a) / Log(10) < 28
a = MbC(Trim(a), 10)
b = Sqr(a)
c = a / Log(a)
If a > 10 ^ 11 Then
a1 = Log(a) / Log(10)
b3 = (1.74136140824861 ^ ((1.06415 * Exp(-0.00175 * (a1 - 0.65 * (a1 - 21)))) ^ a1)) ^ a1
c = (a + (b3 + 4) * b) / Log(a)
ElseIf a > 10000000 Then
a1 = Log(a) / Log(10)
b2 = Exp(1.033 * a1)
b1 = 0.159 * b2
b4 = (1.74136140824861 ^ (1.8 * a1)) / 4.9
b5 = (b1 + b4) / 2
c = (a + (b5 + 4) * b) / Log(a)
ElseIf a >= 10000 Then
a1 = Log(a) / Log(10)
b3 = (56 * a1 ^ 3 - 741 * a1 ^ 2 + 3367 * a1 - 5142) / 6
c = (a + (b3 + 4) * b) / Log(a)
ElseIf a >= 1000 Then
c = (a + 4 * b) / Log(a)
ElseIf a > 500 Then
c = (a + 2 * b) / Log(a)
Else
c = c
End If
d = a / c
D1 = Int(c) * d
Text2 = Text2 & "10^" & Log(a) / Log(10) & "内的素数个数下限为 " & Int(c) & vbCrLf
Loop
Text3 = D1
End Sub

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

这是不同公式结果的比较。10^12以上就不一样了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 12:11 , Processed in 0.058594 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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