Guest User

Untitled

a guest
Mar 24th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.44 KB | None | 0 0
  1. #include <iostream>
  2. #include <bitset>
  3. using namespace std;
  4. long long _sieve_size;
  5. bitset<10000010> bs;
  6. vector<int> primes;
  7. //10^7 should be enough for most cases
  8. void sieve(long long upperbound) {
  9. _sieve_size = upperbound + 1;
  10. bs.set();
  11. bs[0] = bs[1] = 0;
  12. for (long long i = 2; i <= _sieve_size; i++)
  13. if (bs[i]) {
  14. for (long long j = i * i; j <= _sieve_size; j += i) bs[j] = 0;
  15. primes.push_back((int)i);
  16. }
  17. }
Add Comment
Please, Sign In to add comment