比赛 |
暑假综合模拟2 |
评测结果 |
AAAAAAAAAA |
题目名称 |
Hankson的趣味题 |
最终得分 |
100 |
用户昵称 |
Sakura |
运行时间 |
0.743 s |
代码语言 |
C++ |
内存使用 |
0.28 MiB |
提交时间 |
2018-08-07 20:32:27 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#define ll long long
using namespace std;
int n;
int a[2],b[2];
int ans=0;
inline int gcd(int a,int b){
return b==0?a:gcd(b,a%b);
}
int main()
{
freopen("son.in","r",stdin);
freopen("son.out","w",stdout);
scanf("%d",&n);
while(n--){
ans=0;
scanf("%d%d",&a[0],&a[1]);
scanf("%d%d",&b[0],&b[1]);
int temp=(int)(sqrt((double)b[1]));
for(int i=1;i<=temp;i++){
if(b[1]%i) continue;
if(gcd(a[0],i)==a[1] && gcd(b[0],i)*b[1]==b[0]*i)
ans++;
int j=b[1]/i;
if(j%a[1]) continue;
if(j<=i||j==0) continue;
if(gcd(a[0],j)==a[1] && gcd(b[0],j)*b[1]==b[0]*j)
ans++;
}
cout<<ans<<endl;
}
return 0;
}