Saleh127

uva 11466 rte

Jun 27th, 2020
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define test int t; cin>>t; while (t--)
  4. #define ll long long int
  5. #define maX 1000008
  6. bool marked[maX];
  7. void sieve()
  8. {
  9. marked[0]=1;
  10. marked[1]=1;
  11. for(ll i=4;i<=maX;i+=2)
  12. {
  13. marked[i]=1;
  14. }
  15. for(ll i=3;i<=maX;i+=2)
  16. {
  17. if(marked[i]==0)
  18. {
  19. for(ll j=i*i; j<=maX; j+=i+i)
  20. {
  21. marked[j]=1;
  22. }
  23. }
  24. }
  25. }
  26. int main()
  27. {
  28. sieve();
  29. ll a,c,d,e,f,i,j,k,l;
  30. while(cin>>a && a)
  31. {
  32. c=sqrt(a)+1;
  33. d=0;
  34. if(c%2==0) c--;
  35. for(i=c;i>=3;i-=2)
  36. {
  37. if(marked[i]==0 && a%i==0)
  38. {
  39. d=i;
  40. break;
  41. }
  42. }
  43. if(d==0 && a>2)
  44. {
  45. if(a%2==0)
  46. {
  47. d=2;
  48. }
  49. }
  50. if(d==0) cout<<-1<<endl;
  51. else cout<<d<<endl;
  52. }
  53.  
  54.  
  55. return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment