|
|

楼主 |
发表于 2026-5-11 11:39
|
显示全部楼层
暂不考虑小数和误差,仅按倍数含量计算,正整数n内素数p的倍数含量是n/p,筛除之,筛余量是n-n/p=n*(1-1/p)=n*(p-1)/p;
对正整数n用素数p筛除后的剩余量中素数q的倍数含量是n*(p-1)/p*1/q,筛余量n*(p-1)/p-n*(p-1)/p*1/q=n*(p-1)/p*(q-1)/q;
对正整数n用素数pq筛除后的剩余量中素数r的倍数含量是n*(p-1)/p*(q-1)/q*1/r,筛余量n*(p-1)/p*(q-1)/q-n*(p-1)/p*(q-1)/q*1/r=n*(p-1)/p*(q-1)/q*(r-1)/r;
……恐怕也就是连乘积计算式的由来吧!
实际上用素数p对正整数n筛分时筛除掉[n/p]个p的倍数数,再用素数q对素数p筛分后的剩余数筛分筛除掉[n/q]-[n/pq]个q的倍数数。
例用2和3对38筛分,筛掉19个偶数,6个3的倍数数,剩余13个奇数;而[38/2*2/3]=[12.6667]=12,误差-1;
再用5筛分,筛掉3个5的倍数数,剩余10个奇数;而[38/2*2/3*4/5]=[10.1333]=10,误差0;
三次筛分剩余数是38-19-6-3=10,减去1,加上2,3,5,应得素数12个;实际剩余2,3,5,7,11,13,17,19,23,29,31,37共12个素数。
而连乘积38/2*2/3=12.6667<13,38/2*2/3*4/5=10.1333>10,二筛、三筛都存在一定的误差。
正整数 38 40 42 44 46 48
2筛余 19 20 21 22 23 24
3剩余 12.67 13.33 14.00 14.67 15.33 16.00
5剩余 10.13 10.67 11.20 11.73 12.27 12.80
向下取整 10 10 11 11 12 12
减1加235 12 12 13 13 14 14
素数个数 12 12 13 14 14 15
误差 0 0 0 -1 0 -1
向上取整并调加 13 13 14 14 15 15
误差 1 1 1 0 1 0
四舍五入取整并调加 12 13 13 14 14 15
误差 0 1 0 0 0 0
不论如何取整,都存在一定的误差,当整数更大,筛分素数更多时误差会变得相当大或不可预测,
总之,倍数含量(连乘积)计算式不能准确计算出任一个正整数内的素数个数,即倍数含量不具有无限重叠规律。
|
|