Advertisement
leminhkt

74

Aug 16th, 2020 (edited)
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4.  
  5. const int N = 1e6;
  6. int fact[N + 1];
  7. vector<int> pr;
  8.  
  9.  
  10.  
  11. int main(){
  12.     //freopen("Test.INP", "r", stdin);
  13.     //freopen("Test.OUT", "w", stdout);
  14.     cin.tie(NULL)->sync_with_stdio(false);
  15.  
  16.  
  17.     for (int i = 2; i <= N; ++i) {
  18.         if (fact[i] == 0)
  19.             fact[i] = 1,
  20.             pr.push_back(i);
  21.         for (int j : pr)
  22.             if (j <= i && j*i <= N)
  23.                 fact[j*i] = fact[i] + 1;
  24.             else break;
  25.     }
  26.  
  27.  
  28.     int q;
  29.     for (cin >> q; q--;) {
  30.         int a, b, t;
  31.         cin >> a >> b;
  32.         t = __gcd(a, b);
  33.         cout << max (fact[a/t], fact[b/t]) << '\n';
  34.     }
  35.  
  36.  
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement