Advertisement
Saleh127

live ar 2565

Aug 11th, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define maX 1000008
  4. #define ll long long
  5. bool marked[maX];
  6. vector<ll>p;
  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. p.push_back(2);
  16. for(ll i=3;i<=maX;i+=2)
  17. {
  18. if(marked[i]==0)
  19. {
  20. p.push_back(i);
  21. for(ll j=i*i; j<=maX; j+=i+i)
  22. {
  23. marked[j]=1;
  24. }
  25. }
  26. }
  27. }
  28.  
  29. int main()
  30. {
  31. ios_base::sync_with_stdio(0);
  32. cin.tie(0);cout.tie(0);
  33.  
  34. sieve();
  35.  
  36. ll m,a,c;
  37. while(scanf("%lld %lld %lld",&m,&a,&c)==3)
  38. {
  39. if(m==0 && a==0 && c==0) break;
  40.  
  41. ll i,j,k,l,ans,mxx=0;
  42.  
  43. for(i=0;p[i]*p[i]<=m;i++)
  44. {
  45. for(j=0;p[j]*p[i]<=m;j++)
  46. {
  47. ll x=min(p[i],p[j]);
  48. ll y=max(p[i],p[j]);
  49.  
  50. if(p[i]*p[j]<=m && ((double)x/y>=(a/(c*1.0))) && (double)x/y<=1)
  51. {
  52. ans=p[i]*p[j];
  53. if(ans>mxx)
  54. {
  55. mxx=ans;
  56. k=p[i];
  57. l=p[j];
  58. }
  59. }
  60. }
  61. }
  62. printf("%lld %lld\n",k,l);
  63. }
  64. return 0;
  65. }
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement