Advertisement
Imran_Mohammed

Prime Genaration

Feb 9th, 2021 (edited)
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. //In the name of ALLAH
  2.  
  3. #include<bits/stdc++.h>
  4. using namespace std;
  5.  
  6. #define optimize() ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  7. #define endl '\n'
  8.  
  9. const int mx = 1e6+123;
  10.  
  11. bool is_prime[mx];
  12. vector<int> prime;
  13.  
  14. void primegen ( int n )
  15. {
  16.     for ( int i = 3; i <= n; i += 2 ) is_prime[i] = 1;
  17.  
  18.     int sq = sqrt ( n );
  19.     for ( int i = 3; i <= sq; i += 2 ) {
  20.         if ( is_prime[i] == 1 ) {
  21.             for ( int j = i*i; j <= n; j += ( i + i ) ) {
  22.                 is_prime[j] = 0;
  23.             }
  24.         }
  25.     }
  26.  
  27. is_prime[2]=0;
  28. prime.push_back(2);
  29.  
  30.     for ( int i = 3; i <= n; i += 2 ) {
  31.         if ( is_prime[i] == 1 ) prime.push_back ( i );
  32.     }
  33. }
  34.  
  35. int main()
  36. {
  37.  
  38.     //Prime Generation: complexity 0(n) almost
  39.     primegen(100);
  40.  
  41.     for(auto u: prime)cout << u << " ";
  42.     cout << endl;//2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
  43.  
  44.  
  45.     return 0;
  46. }
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement