Advertisement
HaciyevAlik

Untitled

Nov 23rd, 2022
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.04 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. using ll = long long;
  5. using ld = long double;
  6. #define ff first
  7. #define ss second
  8. #define pb push_back
  9. #define oo 1000000000LL
  10.  
  11. int gcd(int a,int b){
  12.     if(!a) return b;
  13.     return gcd(b%a,a);
  14. }
  15.  
  16. int lcm(int a,int b){
  17.     return a*b/gcd(a,b);
  18. }
  19.  
  20. void solve(){
  21.     int a,b; cin >> a >> b;
  22.     vector<int> v;
  23.     set<pair<int,int>> s;
  24.     for(int i=1;i<=sqrt(b);++i){
  25.         if(b%i==0){
  26.             if(i==b/i) v.pb(i);
  27.             else v.pb(i); v.pb(b/i);
  28.         }
  29.     }
  30.     for(int i=0;i<(int)v.size();++i){
  31.         for(int j=i;j<(int)v.size();++j){
  32.             if(gcd(v[i],v[j]) == a && lcm(v[i],v[j]) == b){
  33.                 s.insert({v[i],v[j]});
  34.             }
  35.         }
  36.     }
  37.     cout << (int)s.size()*2;
  38. }
  39.  
  40. int main(){
  41.     cin.tie(0) -> sync_with_stdio(0);
  42.     cin.exceptions(cin.failbit);
  43.     //freopen("in.txt","r",stdin);
  44.     //freopen("out.txt","w",stdout);
  45.     int t=1; //cin >> t;
  46.     while(t--){
  47.         solve();
  48.         cout << "\n";
  49.     }
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement