比赛 |
至少完成十道练习 |
评测结果 |
AAAAAAAAAT |
题目名称 |
Hankson的趣味题 |
最终得分 |
90 |
用户昵称 |
FFF团 |
运行时间 |
1.679 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2017-05-21 23:21:14 |
显示代码纯文本
#include<bits/stdc++.h>
#include<cstdio>
#include<iostream>
using namespace std;
int n;
long long a0,a1,b0,b1;
int gcd(int x,int y){
while(y){
int t=x%y;
x=y;
y=t;
}
return x;
}
int main(){
freopen("son.in","r",stdin);
freopen("son.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%lld%lld%lld%lld",&a0,&a1,&b0,&b1);
int ans=0;
for(int j=1;j*j<=b1;j++){
if(b1%j!=0)continue;
if(gcd(j,a0)==a1&&gcd(j,b0)*b1==j*b0)ans++;
if(j*j==b1)break;
int l=b1/j;
if(gcd(l,a0)==a1&&gcd(l,b0)*b1==l*b0)ans++;
//cout<<j<<endl;
}
printf("%d\n",ans);
}
}