为什么这会tle一个点??(大雾
查看原帖
为什么这会tle一个点??(大雾
285414
Swiftie_wyc22楼主2022/8/25 11:18
#include <bits/stdc++.h>

using namespace std;
inline int gcd(int a, int b)
{
    return b == 0 ? a : gcd(b, a % b);
}
int main()
{
    long long x, y;
    cin >> x >> y;
    // (p,q) = x0;
    // [p,q] = y0;
    //[p,q] = pq/(p,q)
    //=>y0 = pq/x0
    //=>y0x0 = pq;
    long long tmp = x * y;int ans = (x == y ? -1 : 0);
    for (register int i = 1; i * i <= tmp; i++)
    {
        if (tmp % i == 0)
        {
            int p = tmp / i;
            int q = i;
            if (gcd(p, q) == x)
                ans +=2;
        }
    }
    cout << ans <<endl;
    return 0;
}
2022/8/25 11:18
加载中...