Advertisement
Carbastan

MaxD

Dec 8th, 2022
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 KB | None | 0 0
  1. #include <fstream>
  2.  
  3. using namespace std;
  4.  
  5. ifstream cin("maxd.in");
  6. ofstream cout("maxd.out");
  7.  
  8. int main()
  9. {
  10.     int a, b, divm = 1e9, ctdiv = 0, nrdivM = -1;
  11.     cin >> a >> b;
  12.  
  13.     for(int i = a; i <= b; ++i)
  14.     {
  15.         int q = i, nrdiv = 1, p = 0, d = 3;
  16.  
  17.         while(q % 2 == 0)
  18.         {
  19.             ++p;
  20.             q /= 2;
  21.         }
  22.  
  23.         if(p) nrdiv *= (p + 1);
  24.  
  25.         while(q != 1)
  26.         {
  27.             p = 0;
  28.  
  29.             while(q % d == 0)
  30.             {
  31.                 ++p;
  32.                 q /= d;
  33.             }
  34.  
  35.             if(p) nrdiv *= (p + 1);
  36.  
  37.             d += 2;
  38.  
  39.             if(d * d > q) d = q;
  40.         }
  41.  
  42.         if(nrdiv > nrdivM)
  43.         {
  44.             nrdivM = nrdiv;
  45.             divm = i;
  46.             ctdiv = 1;
  47.         }
  48.         else if(nrdiv == nrdivM)
  49.         {
  50.             if(i < divm) divm = i;
  51.  
  52.             ++ctdiv;
  53.         }
  54.     }
  55.  
  56.     cout << divm << " " << nrdivM << " " << ctdiv;
  57.  
  58.     return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement