fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define faster() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
  4. int nt[1000005]={};
  5. int check[1000005];
  6. // Hàm này dùng để sàng số nguyên tố
  7. void sang(){
  8. nt[0]=1;
  9. nt[1]=1;
  10. for (int i=2;i<=sqrt(1000000);i++)
  11. if (nt[i]==0)
  12. for (int j=i*i;j<=1000000;j+=i) nt[j]=1;
  13. }
  14. // Hàm này dùng để lưu số nguyên tố nhỏ nhất lớn hơn bằng n
  15. void timsnt(){
  16. check[1000000]=1000003;
  17. for (int i=999999;i>=1;i--)
  18. // nếu i là số nguyên tố thì kết quả là i,
  19. // ngược lại thì nó bằng số nguyên tố lớn bằng i+1
  20. if (nt[i]==0) check[i]=i;
  21. else check[i]=check[i+1];
  22. }
  23. void solve(){
  24. int n;
  25. cin >> n;
  26. cout << check[n] << "\n";
  27. }
  28. int main(){
  29. faster();
  30. sang();
  31. timsnt();
  32. int t;
  33. cin >> t;
  34. while (t--) solve();
  35. }
Success #stdin #stdout 0.01s 11364KB
stdin
2
3
4
stdout
3
5