fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const long long n=2000000;
  4. long long i,j,k,kk,t;
  5. vector<long long> ans;
  6. vector<long long> primes;
  7. vector<long long> ch;
  8. vector<char> is_prime(n+1,true);
  9. vector<long long> dem(n+1,0);
  10. void seive(){
  11. is_prime[0]=is_prime[1]=false;
  12. for(i=2;i<=n;i++){
  13. if(is_prime[i]){
  14. primes.push_back(i);
  15. for(j=i*i;j<=n;j+=i) is_prime[j]=false;
  16. }
  17. }
  18. }
  19. int main(){
  20. seive();
  21. for(k=0;k<primes.size();k++){
  22. t=primes[k];
  23. for(kk=t;kk<=n;kk=kk+t) if(is_prime[kk/t]) dem[kk]++;
  24. }
  25. for(k=1;k<=n;k++) if(dem[k]==2) ans.push_back(k);
  26. long long T,nn;
  27. cin>>T;
  28. while(cin>>nn){
  29. cout<<ans[nn-1]<<'\n';
  30. }
  31. cerr << "\nTime elapsed: " << 1000 * clock() / CLOCKS_PER_SEC << "ms\n";
  32. return 0;
  33. }
  34.  
Success #stdin #stdout #stderr 0.13s 25840KB
stdin
4
2
3
5
7
stdout
10
14
21
26
stderr
Time elapsed: 129ms