题解
2025-06-30 12:34:28
发布于:浙江
3阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int n,a0,a1,b0,b1;
int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
int lcm(int a, int b) {
return (a / gcd(a, b)) * b;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int ans=0;
cin>>a0>>a1>>b0>>b1;
for(int j=1;j<=sqrt(b1);j++){
if(b1%j==0){
if(gcd(a0,j)==a1&&lcm(b0,j)==b1) ans++;
if(j!=b1/j&&gcd(a0,b1/j)==a1&&lcm(b0,b1/j)==b1) ans++;
}
}
cout<<ans<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个