fork download
  1. #include <bits/stdc++.h>
  2. #define ll long long int
  3.  
  4. using namespace std;
  5.  
  6. ll t,num,f,mx=4294967296;
  7. bool prime[100000];
  8. vector <int> prv;
  9.  
  10. void seive()
  11. {
  12. memset(prime,true,sizeof(prime));
  13. int n=sqrt(100000),sum=2;
  14. while(sum+2<=100000){
  15. prime[sum+2]=false;
  16. sum+=2;
  17. }
  18.  
  19. for(int i=3;i<=n;i++){
  20. if(prime[i]!=false){
  21. for(int j=2*i;j<=100000;j=j+i){
  22. prime[j]=false;
  23. }
  24. }
  25. }
  26. for(int i=2;i<=100000;i++){
  27. if(prime[i]==true){
  28. prv.push_back(i);
  29. }
  30. }
  31. }
  32.  
  33. int main()
  34. {
  35. seive();
  36. cin>> t;
  37. for(int x=1;x<=t;x++){
  38. cin>> num;
  39. f=1,num=num-1;
  40. for(int i=num;i>=0;i--){
  41. f=0;
  42. for(int j=0;prv[j]*prv[j]<=i;j++){
  43. if(i%prv[j]==0){
  44. f=1;
  45. break;
  46. }
  47. else{
  48. f=0;
  49. }
  50. }
  51. if(f==0){
  52. cout<< i << endl;
  53. break;
  54. }
  55. }
  56.  
  57. }
  58. return 0;
  59. }
  60.  
Success #stdin #stdout 0s 3564KB
stdin
Standard input is empty
stdout
Standard output is empty