|

楼主 |
发表于 2023-10-25 16:04
|
显示全部楼层
N=10000,10000平方根等于100,100以内素数共有25个:2,3,5,7,…97;
仍采用公式
π(N)=( r-1) +{N-∑[N/pi]+∑[N/pipj]-∑[N/pipjpk]+…+(-1)^r*∑[N/p1p2…pr]}
共有25个和号,其中
第1个和号为25项连加和,
第2个和号为25*24/2=300项连加和,
第3个和号为25*24*23/(2*3)=2300项连加和,
以下第4-25个和号项数见表:
和号号 组合未项 项数
1 25 25
2 24 300
3 23 2300
4 22 12650
5 21 53130
6 20 177100
7 19 480700
8 18 1081575
9 17 2042975
10 16 3268760
11 15 4457400
12 14 5200300
13 13 5200300
14 12 4457400
15 11 3268760
16 10 2042975
17 9 1081575
18 8 480700
19 7 177100
20 6 53130
21 5 12650
22 4 2300
23 3 300
24 2 25
25 1 1
合计 —— 33554431
10000并不是一个很大的数字,然而要算10000以内的素数个数,确需33554431+3个整数相加减才能算出来,
你能正确地算出来吗?
非也,在3355多万个整数之中有相当多的0,不必计算和加减。
第1个和号之中的分母最小是2,最大是97,25项必须全算;
第2个和号之中的分母最小是2*3=6,最大是89*97=8633,300项要全算;
第3个和号之中的分母最小是2*3*5=30,最大是83*89*97=716539>10000(取整为0),2300项不必全算;
第4个和号之中的分母最小是2*3*5*7=210,最大是79*83*89*97>10000(取整为0),12650项不必全算;
第5个和号之中的分母最小是2*3*5*7*11=2310,最大是73*79*83*89*97>10000(取整为0),53130项不必全算;
第6个和号之中的分母最小是2*3*5*7*11*13=30030>10000(取整为0),最大是71*73*79*83*89*97>10000(取整为0),177100项都是0全不用再算;
以下第7-25个和号中的各项都是0,各个和号也都等于0了,不用再计算了。
至此只需计算前5个和号即可,总项数等于68405。
68405仍然太大,其中还有许多个0项,不需计算!
第3个和号中的19*23*29=12673>10000,取整为0,第1个素数是23及大于23的素数不用再算;
第4个和号中的7*11*13*17=17017>10000,取整为0,第1个素数是7及大于7的素数不用再算;
第5个和号中的3*5*7*11*13=30030>10000,取整为0,第1个素数是3及大于3的素数不用再算。
|
|