标签:src break using div get col oid open eve
1 #include <iostream> 2 using namespace std; 3 4 const int N = 1e6+10; 5 6 int cnt; 7 int flag[N], prim[N]; 8 //埃式筛法 O(nlog(log(n))) 9 void get_prime(int n){ 10 for(int i = 2;i <= n;++i){ 11 if(!flag[i]){//i 没有删除 12 prim[++cnt] = i;//prim里存的是所有质数 13 } 14 //用来删除当前所有质数的倍数 15 for(int j = i+i;j <= n;j += i) 16 flag[j] = true; 17 } 18 } 19 //线性筛法On, 背下来 20 void get_primes(int n){ 21 for(int i = 2;i <= n;++i){ 22 if(!flag[i])prim[++cnt] = i; 23 for(int j = 1;prim[j] <= n/i;++j){ 24 flag[i*prim[j]] = true; 25 if(i % prim[j] == 0)break; 26 } 27 } 28 } 29 30 31 int main(){ 32 int n; 33 cin >> n; 34 get_primes(n); 35 cout << cnt << endl; 36 }
标签:src break using div get col oid open eve
原文地址:https://www.cnblogs.com/sxq-study/p/12247097.html