Advertisement
shamiul93

bridge

Jun 13th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1.  
  2. #include<bits/stdc++.h>
  3. #define ll long long
  4. using namespace std;
  5.  
  6. ll gcd(ll a, ll b)
  7. {
  8.     if (a == 0)
  9.         return b;
  10.     return gcd(b%a, a);
  11. }
  12.  
  13. ll commDiv(ll a,ll b)
  14. {
  15.     ll n = gcd(a, b);
  16.  
  17.     ll result = 0;
  18.     for (ll i=1; i*i<=n; i++)
  19.     {
  20.         if (n%i==0)
  21.         {
  22.             if (n/i == i)
  23.                 result += 1;
  24.             else
  25.                 result += 2;
  26.         }
  27.     }
  28.     return result;
  29. }
  30.  
  31. int main()
  32. {
  33.     ll s, f ;
  34.     while(scanf("%lld %lld",&s,&f)!=EOF)
  35.     {
  36.         if(s > f) swap(s,f) ;
  37.  
  38.         ll p ;
  39.         p = commDiv(s, f) ;
  40.  
  41.         if(p == 1)
  42.         {
  43.             cout << "-1" << endl ;
  44.         }
  45.         else
  46.         {
  47.             cout << (p-1) << endl ;
  48.         }
  49.  
  50.     }
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement