素数筛
Posted yang-ra-noi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了素数筛相关的知识,希望对你有一定的参考价值。
对于一些题,我们需要去枚举n以下的素数,
但是有时可能不止一个数需要这样做,所以下面介绍一些筛出n以下的素数的方法
一.暴力求解
直接枚举每一个(iin[2,n]),判断其是否是素数,然后加入数组
判断素数的话枚举(jin[2,sqrt i]),判断是否i能整除j,若都不能,则i为素数
代码比较简单,时间复杂度最高,为(O(nsqrt n))
for(int i=2;i<=n;i++){
bool f=true;;
for(int j=2;j<=sqrt(i);j++)if(i%j==0)f=false;
if(f)cout<<i<<endl;
}
输出的即为n以内的所有素数
以上是关于素数筛的主要内容,如果未能解决你的问题,请参考以下文章