Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //simple sieve
- bitset<N> arr;ll prime[N],p;
- void sieve(int n) {
- for(int i = 0; i <= n; i++) arr[i] = 0;
- double z = sqrt(n);
- arr[0] = arr[1] = 1;
- for(int i = 4; i <= n; i += 2) arr[i] = 1;
- for(int i = 3; i <= z; i += 2) {
- if(arr[i] == 0)
- for(ll j = i*i; j <= n; j += i + i) {
- arr[j] = 1;
- }
- }
- prime[p++] = 2;
- for(int i = 3; i <= n; i += 2) if(!arr[i]) prime[p++] = i;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement