素数筛选 模版

来源:互联网 发布:淘宝首页html代码示例 编辑:程序博客网 时间:2024/04/26 14:26

传统的素数求法对于一个数需要从1跑到根号n,时间复杂度比较高,而且只能用一次。

素数筛选只需要预处理一次,后面的计算只需要一次就能求得解。
素筛原理是遍历1到根号n的所有素数(未被标记的数),把他们的整数倍都标记。

#include<string.h>const int N = 1000005;bool prim[N];void isprim(){    memset(prim,true,sizeof(prim));    for(int i=2;i*i<N;i++){        if(prim[i]){            for(int j=i*i;j<N;j=j+i){                prim[j]=false;            }        }    }}
0 0
原创粉丝点击