当前位置 : 主页 > 网页制作 > HTTP/TCP >

D - Disjoint Set of Common Divisors

来源:互联网 收集:自由互联 发布时间:2021-06-16
https://atcoder.jp/contests/abc142/tasks/abc142_d 题意 求满足互素条件下的A和B的因子最多有几个 思路: 分解gcd(A,B)的质因子,再加上1; #include iostream #include algorithm #include string using namespace

https://atcoder.jp/contests/abc142/tasks/abc142_d

题意

求满足互素条件下的A和B的因子最多有几个

 

思路:

分解gcd(A,B)的质因子,再加上1;

#include <iostream>
#include<algorithm>
#include<string>
using namespace std;
const int maxn =1e5+10;
long long gcd(long long x,long long y)
{
    if(y==0)return x;
    return gcd(y,x%y);
}
int main()
{
    long long x,y;
    cin >> x >> y;
    long long g=gcd(x,y);
    long long ans=0;
    for(long long i=2;i<= g / i; i++)
    {
        if(g%i==0)
        {
            ans++;
            while(g%i==0) g/=i;
        }
    }
    if(g>1) ans++;
    cout << ans +1 <<endl;
    return 0;
}
网友评论