Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define LL long long
  6. #define ULL long long unsigned
  7. #define LD long double
  8. #define ff first
  9. #define ss second
  10. #define FOR(i,n) for(int i=0;i<n;i++)
  11. #define FLR(i,n) for(LL i=0;i<n;i++)
  12. #define RFOR(i,n) for(int i=n-1;i>=0;i--)
  13. #define RFLR(i,n) for(LL i=n-1;i>=0;i--)
  14. #define rep(i,a,b) for(int i=a;i<=b;i++)
  15. #define repl(i,a,b) for(LL i=a;i<=b;i++)
  16. #define fast ios_base::sync_with_stdio(0);cin.tie(0);
  17. #define all(a) a.begin(),a.end()
  18. #define ABS(x) ((x)<0?-(x):(x))
  19. #define NL "\n"
  20. #define pb push_back
  21. #define mk make_pair
  22. #define pi acos(-1.0)
  23. #define prec(n) fixed << setprecision(n)
  24. #define sq(a) (a)*(a)
  25. #define asi cout<<"check"<<" ";
  26. #define big 100000000
  27.  
  28. bool vis[big];
  29.  
  30. void sieve(){
  31. int i,j,k,root=sqrt(big)+2;
  32. vis[0]=1;
  33. vis[1]=1;
  34. for(i=4;i<=big;i+=2)vis[i]=1;
  35. for(i=3;i<=root;i++){
  36. if(!vis[i]){
  37. for(j=i*i;j<=big;j+=i)vis[j]=1;
  38. }
  39. }
  40.  
  41. }
  42.  
  43. int main()
  44. {
  45. fast;
  46. sieve();
  47. LL i,j,k,t,n,ans,kount=0,flag;
  48. cin>>t;
  49. while(t--){
  50. cin>>n;
  51. ans=2;
  52. flag=0;
  53. for(i=2;i*i<=n;i++){
  54. if(n%i==0&&vis[i]==0){
  55. flag=1;
  56. ans=i;
  57. if(n/i<big)if(n/i>i&&vis[n/i]==0)ans=n/i;
  58. }
  59. }
  60. if(flag)cout<<ans<<NL;
  61. else cout<<n<<NL;
  62. }
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement