Advertisement
osipyonok

PrimeChecker

Jan 18th, 2017
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.62 KB | None | 0 0
  1. class PrimeChecker{
  2.     private: vector<int> num;
  3.    
  4.     public: PrimeChecker(int maxn = 10000001){
  5.         num = vector<int>(maxn + 1 , 0);
  6.         num[0] = num[1] = 1;
  7.         for(int i = 2 ; i <= maxn ; ++i){
  8.             if(!num[i]){
  9.                 for(int j = i * 2 ; j <= maxn ; j += i){
  10.                     num[j] = 1;
  11.                 }
  12.             }
  13.         }
  14.     }
  15.    
  16.     bool isPrime(int t){
  17.         if(t >= num.size()){
  18.             for(int i = 2 ; i * i <= t ; ++i){
  19.                 if(t % i == 0){
  20.                     return 0;
  21.                 }
  22.             }
  23.             return 1;
  24.         }
  25.         return !num[t];
  26.     }
  27. };
  28.  
  29. /*
  30. int n;
  31.     cin >> n;
  32.    
  33.     PrimeChecker pr = PrimeChecker();
  34.     repf(i , 2 , n + 1){
  35.         if(pr.isPrime(i))cout << i << " ";
  36.     }
  37. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement