Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<vector>
- #define TD 1000000
- using namespace std;
- bool assigned[TD];
- bool prime_num(int i)
- {
- if(i < 2) return false;
- if(i == 2) return true;
- if(i%2 == 0) return false;
- return assigned[i] == false;
- }
- void sieve(int p)
- {
- for(int i=3; i*i<=p; i+=2)
- {
- if(assigned[i] == false)
- {
- for(int j=i*i; j<=p; j+=(i+i))
- {
- assigned[j] = true;
- }
- }
- }
- }
- int main()
- {
- int k,num;
- cin >> k;
- sieve(TD);
- vector<int>result;
- for(int i=0; i<TD; i++)
- {
- if(prime_num(i))
- result.push_back(i);
- }
- while(k-->0)
- {
- cin >> num;
- cout << result[num-1] << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement