fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.  
  7. int n;
  8. long long a[1000000 + 5];
  9. bool not_prime[1000000 + 5];
  10. vector <long long> prime;
  11.  
  12.  
  13. // sang nguyen to
  14. not_prime[1] = 1;
  15. int gh = 1e6;
  16. for(int i = 2; i * i <= gh; i ++)if(not_prime[i] == 0)
  17. for(int j = i * i; j <= gh;j += i)not_prime[j] = 1;
  18. for(int i = 1;i <= gh;i ++)if(not_prime[i] == 0)
  19. {
  20. long long so = 1LL * i * i;
  21. prime.push_back(so);
  22. }
  23.  
  24. // nhap du lieu
  25. cin>>n;
  26. for(int i = 1; i <= n; i ++)cin>>a[i];
  27.  
  28. //xu ly
  29. for(int i = 1; i <= n; i ++)
  30. {
  31. int it = lower_bound(prime.begin(),prime.end(),a[i]) - prime.begin();
  32. cout<<prime[it]<<' ';
  33. }
  34.  
  35. return 0;
  36. }
  37.  
Success #stdin #stdout 0.01s 6588KB
stdin
Standard input is empty
stdout
Standard output is empty