您的位置:首页 > 教育 > 培训 > 个人网站建设公司地址_免费自助建站软件_外链吧_产品推广的目的和意义

个人网站建设公司地址_免费自助建站软件_外链吧_产品推广的目的和意义

2025/2/24 8:59:44 来源:https://blog.csdn.net/kamlam96/article/details/142404981  浏览:    关键词:个人网站建设公司地址_免费自助建站软件_外链吧_产品推广的目的和意义
个人网站建设公司地址_免费自助建站软件_外链吧_产品推广的目的和意义

埃氏筛是什么

埃氏筛不是一个很难的东西,只是一个素数筛法(素数,也称质数),大家想,用普通的判断方法筛出1~300000的素数要用多长时间?那可不是一个小数目,使用埃氏筛法可以大大的提升晒的效率。

怎么筛

其实很简单,我们从2开始筛(埃氏筛可能也比较耗时,欧拉筛是其进化版),把2的倍数全部标记,如4、6、8、10等,然后到3,2没有标记3,所以的话把三的倍数标记起来(本身不标记),再看4,既然已经被标记过了,那么就直接跳过,以此类推,秘籍->可以使用布尔数组进行标记,比如要标记4,就把数组为4的位置变成1,没被标记的就为0

核心代码

想抄?不给!只列出核心部分。


for(int i=2;i<=n;i++){\\从2开始筛,筛到n也就是规定的终点if(!a[i]){\\a数组用于标记int c=i*2; while(c<=n){a[c]=1;\\标记c+=i;}}
}
\\作者现编的,不知道准不准,反正差不多是这样的

至于输出部分嘛,给个提示,如果筛完后a数组某个下标对应的值为0,那么这个下标就是素数,例如a[7]为0,那么7是素数

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com