Advertisement
Farjana_akter

Untitled

Mar 29th, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long int ll;
  4. bool mark[1000006];
  5.  
  6. ll isprime[1000006],psize=0;
  7.  
  8.  
  9. void sieve()
  10. {
  11. mark[0]=true;
  12. mark[1]=true;
  13.  
  14. for(ll i=2; i*i<=1000006; i++)
  15. {
  16. if(mark[i]==false)
  17. {
  18. for(ll j=i*i; j<=1000006; j+=i)
  19. mark[j]=true;
  20. }
  21. }
  22. for(ll i=2; i<=1000006; i++)
  23. {
  24. if(mark[i]==false)
  25. isprime[psize++]=i;
  26. }
  27. }
  28.  
  29.  
  30. int main()
  31. {
  32. sieve();
  33. ll n,a,b,c,d,e,i,j,k,ans1,ans2;
  34. while(cin>>n>>a>>b)
  35. {
  36. if(n==0 && a==0 && b==0)
  37. break;
  38. ll mx=0;
  39. double x=(double)a/(double)b;
  40. for(i=0; isprime[i]*isprime[i]<=n; i++)
  41. {
  42. for(j=i; isprime[i]*isprime[j]<=n; j++)
  43. {
  44. double y=(double)isprime[i]/(double)isprime[j];
  45. c=isprime[i]*isprime[j];
  46. if(y>=x && y<=1 && c<=n)
  47. {
  48. if(mx<c)
  49. {
  50. mx=c;
  51. ans1=isprime[i];
  52. ans2=isprime[j];
  53. }
  54.  
  55. if(mx>n)
  56. break;
  57. }
  58. }
  59. if(mx>n)
  60. break;
  61. }
  62. cout<<ans1<<" "<<ans2<<endl;
  63. }
  64. return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement