筛素数-欧拉筛法模板
2017-08-04 13:00
204 查看
时间复杂度O(n)
const int maxn=1e6+5; int prime[maxn]; int cnt; bitset<maxn> vis; void get_prime(int m)//筛出<m的素数 { cnt=0; vis.reset(); for(int i=2;i<m;++i){ if(!vis[i]){ prime[cnt++]=i; } int cur; for(int j=0;j<cnt&&(cur=i*prime[j])<m;++j){ vis[cur]=1; if(!(i%prime[j])){ break; } } } } int main() { get_prime(maxn); for(int i=0;i<cnt;++i){ cout<<prime[i]<<endl; } cout<<"cnt:"<<cnt<<endl; }
相关文章推荐
- 素数筛总结篇___Eratosthenes筛法和欧拉筛法(*【模板】使用 )
- 【 数学基础】【素数线性筛法--欧拉筛法模板】【普通筛法的优化】
- 【数学基础】【欧拉函数解析模板】【欧拉筛法实现求1~n】【求单个n】
- 素数筛法模板 欧拉筛法
- 欧拉筛法求素数
- 线性筛法(欧拉筛法)求素数
- (大素数2.1.2.1)UVA 10871 Primed Subsequence(欧拉筛法)
- 线性筛素数的欧拉筛法
- (Relax 数论1.11)POJ 1595 Prime Cuts(欧拉筛法: 输出1~n区间中中间的2C个素数)
- 欧拉线性筛法求素数 学习报告
- 线性筛法(欧拉筛法)求素数
- poj2689(素数区间筛法模板)
- 快速求素数表——埃氏筛法与欧拉筛法
- POJ Goldbach's Conjecture(素数筛~欧拉筛法)
- 快速求素数表——埃氏筛法与欧拉筛法
- 【个人模板】 筛法求素数
- (Relax 数论1.13)POJ 2909 Goldbach's Conjecture(欧拉筛法的应用:给出一个偶数,要求在这个偶数的范围内,有几对素数和是等于这个偶数的,注意素数对的不重复性! )
- poj2262 Goldbach's Conjecture 素数的欧拉筛法
- poj3006 Dirichlet's Theorem on Arithmetic Progressions 欧拉筛法素数打表,杂题
- 【数论】(贾志鹏)线性欧拉筛模板&&CODE[VS] 1453 统计素数个数2