| n非常大时,还能进一步提高估算精度,就是使用c=1,π(n)≈n/(ln(n)-1),在n为10亿时,误差小于0.3%。 |
| n非常大时,还能进一步提高估算精度,就是使用c=1,π(n)≈n/(ln(n)-1),在n为10亿时,误差小于0.3%。 |
| 一个问题就出现了,是不是在n趋于无穷大时,素数个数π(n)无限趋近于n/(ln(n)-1)呢? |
| 选c=1,这个式子在n比较小的时候,比如n是个位数时,偏差会很大。 |
| 因为这些数接近自然对数的底,在这个底数位置,有一条垂直渐近线。 |
| n很小,比如是个位、十位数的时候,使用π(n)≈n/ln(n);n稍大,如百位、千位数时,使用π(n)≈n/ln(n/2));n很大时,使用π(n)≈n/(ln(n)-1)。 |
| n很小时,使用π(n)≈n/ln(n)是为了避开零点的影响。 |
| 总结下来,就是在n小的时候c等于0、稍大的时候c小于1、很大的时候c等于1。 |
| 不管用哪个式子计算出的个数都是近似数,计算的目的是估计。基本没有人会问1以下或2以下有几个素数的问题,所以这类式子通常都不对0、1、2负责。硬要代入,或不可计算或误差是100%,比如1/ln1、2/ln2。 |
| 用原来的式子计算出的估值的误差是3.2%,差了一个数量级。 |
| n=100 000 000 000 000(一百万亿)时,实际素数个数是3204941750802,计算出的素数个数是3201414635780,误差是0.11%。 |