Facebook
From Tuan Hoang, 1 Month ago, written in C++.
Embed
Download Paste or View Raw
Hits: 124
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int n,a;
  6. int l = 1000005;
  7. int prime[1000005], z[1000005];
  8.  
  9. void dan() {
  10.     for (int i = 1;i <= l;i++)
  11.         {prime[i] = 1;}
  12.  
  13.     prime[1] = 0;
  14.     for (int i = 2;i <= l;i++) {
  15.         if (prime[i] == 1) {
  16.             for (int j = i+i;j <= l;j += i) {prime[j] = 0;}
  17.         }
  18.     }
  19.     for (int i = 2;i <= l;i++) {
  20.         if (prime[i] == 1) {z[i] = i;} else {z[i] = z[i-1];}
  21.     }
  22. }
  23.  
  24. int main() {
  25.     freopen("CLOPRIME.inp","r",stdin);
  26.     freopen("CLOPRIME.out","w",stdout);
  27.  
  28.     cin>>n;
  29.     dan();
  30.     for (int i = 1;i <= n;i++) {
  31.         cin>>a;
  32.         cout<<z[a]<<endl;
  33.     }
  34. }
  35.