记录编号 233161 评测结果 AAAAAAAAAA
题目名称 [NOIP 2009]Hankson的趣味题 最终得分 100
用户昵称 GravatarNVIDIA 是否通过 通过
代码语言 C++ 运行时间 0.511 s
提交时间 2016-03-04 10:17:50 内存使用 0.31 MiB
显示代码纯文本
  1. #include<iostream>
  2. #include<cmath>
  3. #include<cstdio>
  4. #include<algorithm>
  5. #include<cctype>
  6. #include<string>
  7. using namespace std;
  8. int n;
  9. int a[2],b[2];
  10. int tot=0;
  11. int gcd(int a,int b){return b==0?a:gcd(b,a%b);}
  12. int main()
  13. {
  14. freopen("son.in","r",stdin);
  15. freopen("son.out","w",stdout);
  16. scanf("%d",&n);
  17. while(n--)
  18. {
  19. tot=0;
  20. scanf("%d%d",&a[0],&a[1]);
  21. scanf("%d%d",&b[0],&b[1]);
  22. int tmp=(int)(sqrt((double)b[1]));
  23. for(int i=1;i<=tmp;++i){
  24. if(b[1]%i)continue;
  25. if(gcd(a[0],i)==a[1]&&gcd(b[0],i)*b[1]==b[0]*i)tot++;
  26. int j=b[1]/i;
  27. if(j%a[1])continue;
  28. if(j<=i||j==0)continue;
  29. if(gcd(a[0],j)==a[1]&&gcd(b[0],j)*b[1]==b[0]*j)tot++;
  30. }
  31. printf("%d\n",tot);
  32. }
  33. return 0;
  34. }