|
|
求素单筛误差
给定一个正整数n,为求n内素数个数,可用埃氏筛法,分别用素数2,3,5,7……直至√n内最大素数p依次删除2,3,5,7……p的倍数数,但需保留2,3,5,7……p不被删除;
在筛余数中还有一个“孤岛1”。
为计算筛余数,人们总结出一个连乘积计算式n*∏(1-1/p),须知该连乘积计算式的计算值不等于要求的素数个数;
其中的“孤岛1”保留在计算值中,素数2,3,5,7……p均不在计算值中,除此以外还有一个不整除误差。
例1:求9--24以内素数个数
正整数n n*1/2*2/3 素数 筛余 连乘-素数 连乘-筛余 综合误差
9 3.0000 4 3 -1.0000 0.0000 0.0000
10 3.3333 4 3 -0.6667 0.3333 0.3333
11 3.6667 5 4 -1.3333 -0.3333 -0.3333
12 4.0000 5 4 -1.0000 0.0000 0.0000
13 4.3333 6 5 -1.6667 -0.6667 -0.6667
14 4.6667 6 5 -1.3333 -0.3333 -0.3333
15 5.0000 6 5 -1.0000 0.0000 0.0000
16 5.3333 6 5 -0.6667 0.3333 0.3333
17 5.6667 7 6 -1.3333 -0.3333 -0.3333
18 6.0000 7 6 -1.0000 0.0000 0.0000
19 6.3333 8 7 -1.6667 -0.6667 -0.6667
20 6.6667 8 7 -1.3333 -0.3333 -0.3333
21 7.0000 8 7 -1.0000 0.0000 0.0000
22 7.3333 8 7 -0.6667 0.3333 0.3333
23 7.6667 9 8 -1.3333 -0.3333 -0.3333
24 8.0000 9 8 -1.0000 0.0000 0.0000
计算值中加上被筛掉的2和3,减去孤岛1,综合误差见表最后1列。
连乘-筛余之差每3个连续整数中有一个0,其余两数的“连乘-筛余”不固定;
但若只考察偶数10,12,14……24的“连乘-筛余”和综合误差分别是0.3333,0,-0.3333,0.3333,0,-0.3333,0.3333,0;三个连续偶数一个循环节。
(为使表格版面整齐,对于整数0,3,4,5,6,7,8均取3位小数,莫见怪!)
|
|