本文共 557 字,大约阅读时间需要 1 分钟。
昨天有个SB给我讲了一个线性筛选素数法O(n)的复杂度,感觉很神奇,自己看了看,
确实牛b的样子。其实它不像一般的筛选素数法会重复操作标记非素数,此方法不会重复
之行操作,遍历只需一次就行。
void get_prime(){ int num = 0 ; memset(vis,false,sizeof(vis)); for(int i = 2 ; i < n ; i ++) { if(!vis[i]) prime[num++] = i ; for(int j = 0; j一般 筛选素数法:
void get_prime(){ int num = 0 ; memset(vis,false,sizeof(vis)); for(int i = 2 ; i < n ; i ++) { if(!vis[i]) { prime[num++] = i ; for(int j = 2*i ; j < n ; j += i) { vis[j] = true ; } } }}
转载地址:http://qusgi.baihongyu.com/