Advertisement
Hasan1026

Number of Common Divisiors

Dec 18th, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.45 KB | None | 0 0
  1. /*
  2. * @Author: Kabid
  3. * @Date:   {{create_time}}
  4. * @Last Modified by:   Kabid
  5. * @Last Modified time: 2020-12-18 01:33:00
  6. */
  7. #include "bits/stdc++.h"
  8. using namespace std;
  9. #define ll long long
  10. #define dbug cerr<<"HERE"<<endl;
  11. //===============Declaration=======================================
  12. int t;
  13. ll i, j;     //iterators
  14. ll n, k , p, m, c, x; //variables;
  15. ll mx = LLONG_MIN, mn = LLONG_MAX;      // max min
  16.  
  17.  
  18. //===============string=========================================================
  19. string s, s1, s2;
  20. char ch;
  21. //---------------containers---------------------------------------------
  22. char a [600][600];
  23. ll b[600][600];
  24. map <ll, ll > mp;
  25. vector <ll> vc, vc1, v[100001], w[100001];
  26. set <ll> st;
  27. priority_queue< pair<ll, ll>, vector< pair<ll, ll> >, greater< pair<ll, ll> > > q;
  28.  
  29. ll mod = 1e9 + 7;
  30. bool r;
  31.  
  32. /////
  33. void solve();
  34. int main() {
  35.  
  36.     t = 1;
  37.     cin >> t; x = t;
  38.     while (t-- ) {
  39.         solve();
  40.     }
  41.     return 0;
  42.  
  43. }
  44.  
  45. int lcm(int a, int b) {
  46.   for (int i = 1; ; i++) {
  47.     if (i % a == 0 && i % b == 0) {
  48.       return i;
  49.     }
  50.   }
  51. }
  52. int gcd(int a, int b) { // assuming a >= b
  53.   while (true) {
  54.     int remainder = a % b;
  55.     if (remainder == 0) {
  56.       return b;
  57.     }
  58.     a = b; // a takes the bigger side
  59.     b = remainder; // b takes the smaller side
  60.   }
  61. }
  62.  
  63. void solve() {
  64.     int n,k;
  65.     ll c=0;
  66.     cin>>n>>k;
  67.     int p=gcd(n,k);
  68.     for(i=1;i*i<=p;i++){
  69.         if(p%i==0){
  70.             c+=2;
  71.         }
  72.         if(i*i==p){
  73.             c--;
  74.         }
  75.     }
  76.     cout<<c<<endl;
  77. }
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement