|

楼主 |
发表于 2020-11-18 13:42
|
显示全部楼层
本帖最后由 愚工688 于 2020-11-18 05:51 编辑
素数的数量是很难进行计算的。
使用素数连乘式进行计算,只能得到一个相对误差不大的近似值:
在[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内有几个素数?脑子坏掉的人才会试图用容斥公式计算。
而朱先生的计算方法也是如此。
与其说是计算,不如说是计数还恰当些。
为什么要通过总数中除去合数数量(是计数得出的)的方法得到素数数量,不会直接计数素数的数量?
|
|