求解问题:不超过一个给定正整数N的素数的个数
方法介绍:
根据合数的性质:一个合数可以被一个不超过它的平方根的素数整除
这里举例N=100:
介绍:为了找出不超过100的素数个数,首先根据合数的性质可以知道:100的合数一定有一个不超过10的素因子。因为小于10的素数仅有:2,3,5,7,因此不超过100的素数就是这4个素数以及那些大于1和不超过100且不被2,3,5,7整除的正整数。
应用容斥原理:我们令P1:整数能被2整除 P2:整数能被3整除 P3:整数能被5整除 P4:整数能被7整除。
于是答案就是:
关于解释:同时不满足P1,P2,P3,P4性质的个数
ps:已知结论:在1-N之间,有个能被x整除的数
由于存在99个比1大且不超过100的正整数,所以由容斥原理说明:
不超过100(且大于1)并被{2,3,5,7}的子集中的所有素数整除的正整数个数是,其中N是这个子集中的素数之积。(因为任意两个素数都没有公因子)。因此:
ans:
因此存在:个不超过100的素数文章来源:https://www.toymoban.com/news/detail-403281.html
ps:有趣的是,这个算法求解素数个数的时间复制度为:O(1).....qwq文章来源地址https://www.toymoban.com/news/detail-403281.html
到了这里,关于[素数筛][容斥原理]:埃拉托斯特尼筛法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!