比赛 至少完成十道练习 评测结果 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);
	}
}