数学中国

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

基于偶数哥猜哈-李素对计算公式改进的偶数素对计算式 Xi(M)≈ t1*c1*M/(logM)^2

[复制链接]
发表于 2020-11-18 12:02 | 显示全部楼层
重生888@ 发表于 2020-11-18 00:19
你不是朱明君,你是朱糊涂!250-145=105,怎么是95?求一个小小500的素数个数,费那么多事!

重要的是我的方法能得到正确的质数个数,

500/2=250个奇数,为了计算简捷,我们直接将奇数1改为质数2,

500/2-(82个合数+32个合数+18个合数+10个合数+7个合数+4个合数+2个合数)=95个质数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-18 13:42 | 显示全部楼层
本帖最后由 愚工688 于 2020-11-18 05:51 编辑
朱明君 发表于 2020-11-18 04:02
重要的是我的方法能得到正确的质数个数,

500/2=250个奇数,为了计算简捷,我们直接将奇数1改为质数2 ...


素数的数量是很难进行计算的。
使用素数连乘式进行计算,只能得到一个相对误差不大的近似值:
在[2,x]内的全部x-1个整数中,素数数量的概率计算式为:
Sp(x)=(x-r)*P(t)+k;
     =(x-r)*(1/2)*(2/3)*(4/5)*…*[(r-1)/r]+k ;
式中:k表示小于等于根号x 的素数的数量。r为 根号x 内最大素数。
计算结果示例:
in [2, 1000 ]:   S= 168      r= 31     k= 11   p(b)= .153  Sp= 163.7           Δ=-.026
in [2, 2000 ]:   S= 303      r= 43     k= 14   p(b)= .142  Sp= 297.3           Δ=-.019
in [2, 3000 ]:   S= 430      r= 53     k= 16   p(b)= .136  Sp= 424.13          Δ=-.014
in [2, 4000 ]:   S= 550      r= 61     k= 18   p(b)= .132  Sp= 544.22          Δ=-.011
in [2, 5000 ]:   S= 669      r= 67     k= 19   p(b)= .13   Sp= 666.99          Δ=-.003
in [2, 6000 ]:   S= 783      r= 73     k= 21   p(b)= .126  Sp= 777.16          Δ=-.007
in [2, 7000 ]:   S= 900      r= 83     k= 23   p(b)= .123  Sp= 883.54          Δ=-.018
in [2, 8000 ]:   S= 1007     r= 89     k= 24   p(b)= .122  Sp= 996.44          Δ=-.01
in [2, 9000 ]:   S= 1117     r= 89     k= 24   p(b)= .122  Sp= 1118.01         Δ= .001
in [2, 10000 ]:  S= 1229     r= 97     k= 25   p(b)= .12   Sp= 1228.05         Δ=-.001
in [2, 11000 ]:  S= 1335     r= 103    k= 27   p(b)= .118  Sp= 1324.55         Δ=-.008
in [2, 12000 ]:  S= 1438     r= 109    k= 29   p(b)= .116  Sp= 1418.42         Δ=-.014
in [2, 13000 ]:  S= 1547     r= 113    k= 30   p(b)= .115  Sp= 1521.9          Δ=-.016
in [2, 14000 ]:  S= 1652     r= 113    k= 30   p(b)= .115  Sp= 1636.67         Δ=-.009
in [2, 15000 ]:  S= 1754     r= 113    k= 30   p(b)= .115  Sp= 1751.44         Δ=-.001
in [2, 16000 ]:  S= 1862     r= 113    k= 30   p(b)= .115  Sp= 1866.21         Δ= .002
in [2, 17000 ]:  S= 1960     r= 127    k= 31   p(b)= .114  Sp= 1966.61         Δ= .003
in [2, 18000 ]:  S= 2064     r= 131    k= 32   p(b)= .113  Sp= 2065.84         Δ= .001
in [2, 19000 ]:  S= 2158     r= 137    k= 33   p(b)= .112  Sp= 2164.16         Δ= .003
in [2, 20000 ]:  S= 2262     r= 139    k= 34   p(b)= .111  Sp= 2261.2          Δ= 0

据说使用容斥公式能够正确计算素数数量,
取n=168,p(ω)=11,ω=5,P(1,ω) ={2,3,5,7,11},π(168)=39
容斥公式计算=168[1-1/2-1/3-1/5-1/7-1/11+1/6+1/10+1/14+1/22+1/15+1/21+1/33+1/35+1/55+1/77-1/(2*3*5)-1/(2*3*7)-1/(2*3*11)-1/(2*5*7)-1/(2*5*11)-1/(2*7*11)-1/(3*5*7)-1/(3*5*11)]+5-1
=168-84-56-33-24-15+28+16+12+7+11+8+5+4+3+2-5-4-2-2-1-1-1-1+5-1=39
但是这个计算方法太繁复,并不实用。
比如88888内有几个素数?脑子坏掉的人才会试图用容斥公式计算。

而朱先生的计算方法也是如此。
与其说是计算,不如说是计数还恰当些。
为什么要通过总数中除去合数数量(是计数得出的)的方法得到素数数量,不会直接计数素数的数量?

回复 支持 反对

使用道具 举报

发表于 2020-11-18 21:42 | 显示全部楼层
本帖最后由 朱明君 于 2020-11-18 13:48 编辑
愚工688 发表于 2020-11-18 05:42
素数的数量是很难进行计算的。
使用素数连乘式进行计算,只能得到一个相对误差不大的近似值:
在[2,x ...


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点评

小偶数时可以人为的对尾数做出处理,但是数比较大时每个步骤的尾数的处理该如何?难道不会造成误差?因此说能够做到没有误差,是没有说服力的。  发表于 2020-11-20 21:24
我没有否定你的方法与容斥公式计算同样是能够得出素对数量的,但是同样是繁复的方法,不实用的。 因此没有人会使用容斥公式计算一个大偶数,即使是不大的一万左右的偶数,也不行。 你的方法也是如此。  发表于 2020-11-20 21:18
回复 支持 反对

使用道具 举报

发表于 2020-11-19 09:10 | 显示全部楼层
愚工先生好!网友ysr提供只有三个因子的偶数:
13916000003349999997294=2*71000000041*97999999967
您的公式是否容易算出它的素数对?谢谢!

点评

可以看出,如果是10^16的偶数的素对,我使用的分拆软件即使能够计算,那么所需时间将在400小时以上,即需要半个月以上的时间。因此我是不会去尝试计算的大于10^16的偶数的素对数量的。  发表于 2020-11-20 20:15
等于大偶数的素对数量,偶数增大一倍,运算所需时间会大于增加一倍;偶数增大10倍,运算时间会增大到原来的十几倍。 G(2^50)= G(1125899906842624)= 656978437719 (133767.06 sec)约37h 9'27"。  发表于 2020-11-20 20:08
大于10^16的偶数我不能分拆。  发表于 2020-11-20 19:53
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-20 21:04 | 显示全部楼层
本帖最后由 愚工688 于 2020-11-20 13:27 编辑
重生888@ 发表于 2020-11-19 01:10
愚工先生好!网友ysr提供只有三个因子的偶数:
13916000003349999997294=2*71000000041*97999999967
您的 ...


大偶数的素对数量计算是容易的,问题是大偶数的素对真值的筛出是不容易的。
如果没有真值的验证,那么这样的计算还有什么意思呢?
G( 10^10 ) = 18200488       ;Xi(M)≈ 18187858.44     δxi( 10^10 )≈-0.0006939  
  G( 10^11 ) = 149091160      ;Xi(M)≈ 148555069.83    δxi( 10^11 )≈-0.0035957  
  G( 10^12 ) = 1243722370     ;Xi(M)≈ 1234162345.89   δxi( 10^12 )≈-0.0076866
  G( 10^13 ) = 10533150855,   ;Xi(M)≈ 10395227871.57  δxi( 10^13 )≈-0.01309;   
  G( 10^14 ) = 90350630388    ;Xi(M)≈ 88673642506.88  δxi( 10^14 )≈-0.01856   
  G( 10^15 ) = 783538341852   ;Xi(M)≈ 764388083252.9  δxi( 10^15 )≈-0.02444;  

  G( 1D+100 ) =                  ;Xi(M)≈ 8.740133931769918D+94      δxi(10^100)≈  
  G( 1D+101 ) =                  ;Xi(M)≈ 8.500419762956836D+95      δxi(10^101)≈  
  G( 1D+102 ) =                  ;Xi(M)≈ 8.268707461564321D+96      δxi(10^102)≈
  
  G( 1D+203 ) =                  ;Xi(M)≈ 6.978721609042976D+196     δxi(M)≈
  G( 1D+204 ) =                  ;Xi(M)≈ 6.794197491171922D+197     δxi(M)≈  
  G( 1D+205 ) =                  ;Xi(M)≈ 6.613215804568799D+198     δxi(M)≈  
回复 支持 反对

使用道具 举报

发表于 2020-11-21 08:04 | 显示全部楼层
谢谢愚工先生!我也知道,没有真值对比,一切计算都无意义!
另外1D表示什么意思?谢谢!

点评

科学记法,1D+100表示1*10的100次幂。这是在basic 程序的输出大数中采用此类记法。输入中指数记法采用2E8=2*10^8。  发表于 2020-11-22 09:06
回复 支持 反对

使用道具 举报

发表于 2020-11-21 09:09 | 显示全部楼层
,我的公式对同因子偶数,每增加10倍,素数对准确率提高0.0015.真的有规律!上次5亿、50亿、500亿.......这次:10^10   10^11  10^12  10^13  10^14  10^15
        真值                                    我的计算                                 两比
D(10^10)=18200488                 17082858               17082858/18200488=0.9385
D(10^11)=149091160                  ?
D(10^12)=1243722370
D1(10^13)=10533150855
D1(10^14)=90350630388
D1(10^15)=783538341852        739012715473            739012715473/783538341852=0.9431
准确提高        (0.9431-0.9385)/5=0.0015
回复 支持 反对

使用道具 举报

发表于 2020-11-22 09:09 | 显示全部楼层
本帖最后由 重生888@ 于 2020-11-22 15:13 编辑

愚工先生好!我有个问题百思不得其解:
10000素数对127              10000=2*2*2*2*5*5*5*5
10010素数对191              10010=2*5**7*11*13
10030素数对139              10030=2*5*17*59
人们认为偶数小因子多,素数对就多,10010的素数对比10030多!原因在哪?谢谢!

点评

M= 10010 S(m)= 191 K(m)= 1.9394;M= 10030 S(m)= 139 K(m)= 1.4472 ,两者含有的素因子不同。素因子系数差距比较大。  发表于 2020-11-23 22:38
回复 支持 反对

使用道具 举报

发表于 2020-11-22 09:33 | 显示全部楼层
本帖最后由 重生888@ 于 2020-11-22 15:18 编辑

还有10050素数对256             10050=2*5*5*3*67       这个偶数的小素因子也不比10030=2*5**17*59小素因子差不多多。                 256-139==117      前者比后者多近一倍!
但是,10030尾数是10只有两种组合,而10050尾数是0有四种组合!看来与组合种数多少有关!

点评

不是比较素因子个数的多少,而是比较素因子系数的大小。k(10050)=(3-1)/(3-2)*(4/3)*(66/65)=2.7077,而k(10030)=1.4472,两者之比=1.87,接近2倍。两个偶数的素对比=256/139=1.84,也是相近的。  发表于 2020-11-23 23:23
回复 支持 反对

使用道具 举报

发表于 2020-11-22 21:48 | 显示全部楼层
本帖最后由 朱明君 于 2020-11-22 14:13 编辑

100以内的质数个数计算方法:

100/2-(16个合数+6个合数+3个合数)=25个质数,

第1步,  100/2=50个奇数,为了计算简捷,我们直接将奇数1改成质数2
第2步,(50-2)/3=16,
第3步,(50-8)/5=8,   {{{(8-1)×2+5+1}/2}-2}/3=2,
                            8-2=6,
第4步,(50-18)/7=4,  {{{(4-1)×2+7+1}/2}-2}/3=1,
                            4-1=3,


详解:

第1步,    100/2=50个奇数,为了计算简捷,我们直接将奇数1改成质数2

                    2,  3,  5,   7, 9,  11,13,15,17,19,
                    21,23,25,27,29,31,33,35,37,39,
                    41,43,45,47,49,51,53,55,57,59,
                    61,63,65,67,69,71,73,75,77,79,
                    81,83,85,87,89,91,93,95,97,99,

第2步,(50-2)/3=16个,  (16-1) ×2+3=33
  
                  3 ×3=9,------------------------ 3 ×33=99,
                 
                  9, 15,21,27,33,39,45,51,
                 57,63,69,75,81,87,93,99.

第3步,(50-8)/5=8个, (8-1)×2+5=19,       ( 19+1)/2=10,(10-2)/3=2,
                 
                 5 ×5=25,------------------------ 5×19=95,

                 25,35,45,55,65,75,85,95,

                  8 -2=6个
  
第4步,(50-18)/7=4个,   (4-1)×2+7=13,       (13+1)/ 2=7,(7-2)/3=1

                 7 ×7=49,------------------------ 7×13=91,

                  49,63,77,91

                  4 -1=3个

奇质数的对应数计算公式:设奇质数为X,对应数为y则{(X^2+1)/2}-X=y,
3=2,    5=8,    7=18,    11=50,    13=72,    17=128,  19=162,-------。

点评

我讲了没有比荣斥公式先进之处。也是不实用的。只能计算一些很小偶数。只要上万的偶数,可能要几百步的计算,不错很难。  发表于 2020-11-23 23:31
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-3 00:24 , Processed in 0.089990 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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