| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 91344 | sh25_zhangyj | Hankson的趣味题 | C++ | 通过 | 816 MS | 192 KB | 934 | 2026-06-12 15:34:04 |
#include <cstdio> int n; long long a0, a1; long long b0, b1; long long gcd(long long x, long long y) { if(x < y) return gcd(y, x); if(y == 0) return x; return gcd(y, x % y); } long long lcm(long long x, long long y) { return x / gcd(x, y) * y; } bool check(long long x) { if(gcd(x, a0) != a1) return false; if(lcm(x, b0) != b1) return false; return true; } int main() { scanf("%d", &n); while(n--) { scanf("%lld %lld", &a0, &a1); scanf("%lld %lld", &b0, &b1); int cnt = 0; for(long long i = 1; i * i <= b1; i++) { if(i * i == b1) cnt += check(i); else { if(b1 % i == 0) { cnt += check(i); cnt += check(b1 / i); } } } printf("%d\n", cnt); } return 0; }