建议降橙
查看原帖
建议降橙
974277
水星湖psgqwq楼主2024/4/21 21:59

枚举 b1b_1 的因数就过了啊

#include <bits/stdc++.h>
#define int long long
using namespace std;
int lcm(int a,int b){
    return a * b / __gcd(a, b);
}
void solve()
{
    int a0, a1, b0, b1, ans = 0;
    cin >> a0 >> a1 >> b0 >> b1;
    for(int i = 1; i * i <= b1; i++){
        if(b1 % i == 0){
            if(__gcd(i, a0) == a1 && lcm(i, b0) == b1)
                ans++;
            if(i * i != b1){
                if(__gcd(b1 / i, a0) == a1 && lcm(b1 / i, b0) == b1)
                    ans++;
            }
        }
    }
    cout << ans << endl;
}
signed main()
{
    int t;cin>>t;
    while(t--)solve();
    return 0;
}

2024/4/21 21:59
加载中...