记录编号 |
43106 |
评测结果 |
AAAAAEETTT |
题目名称 |
[NOIP 2009]Hankson的趣味题 |
最终得分 |
50 |
用户昵称 |
王者自由 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
4.236 s |
提交时间 |
2012-10-06 16:49:07 |
内存使用 |
0.31 MiB |
显示代码纯文本
#include <cstdio>
#include <cmath>
int n, a[2], b[2], x, y, z, s;
inline int gcd(int a, int b) {
return a ? gcd(b % a, a) : b;
}
int main() {
freopen("son.in", "r", stdin);
freopen("son.out", "w", stdout);
scanf("%d", &n);
for(int i=0; i<n; i++) {
scanf("%d %d", a, a+1);
scanf("%d %d", b, b+1);
s = 0; z = (int) sqrt((double) b[1]);
for(x=1; x<=z; x++) {
if(gcd(x, a[0]) == a[1] && gcd(x, b[0]) * b[1] == x * b[0]) s++;
y = b[1] / x; if(b[1] % x || x == y || !y) continue;
if(gcd(y, a[0]) == a[1] && gcd(y, b[0]) * b[1] == y * b[0]) s++;
}
printf("%d\n", s);
}
return 0;
}