void getprim(){
int cnt=0;
int book[100001];//标记数组 ,判断该数是否被筛选过
memset(book,0,sizeof(book));
book[1]=1; //1是特殊情况
for(int i=2;i<=100001;i++)
{
if(book[i]==0){ //没被筛选出来 。
prime[++cnt]=i; //prime即为保存素数的数组
for(int j=i*2;j<=100001;j+=i) //这个for循环 筛选出当前素数的任意倍数
book[j]=1;
}
}
return ;
}
筛法求素数 --代码
最新推荐文章于 2022-07-29 18:03:58 发布