解题思路:
注意事项:
参考代码:
#include<iostream> #include<cstdio> #include<math.h> #include<algorithm> using namespace std; long int a0,a1,b0,b1; int gcd(int a,int b) { if(b==0) return a; else gcd(b,a%b); } int main() { int n,ans,i=0; cin>>n; while(n--) { ans=0; scanf("%d %d %d %d",&a0,&a1,&b0,&b1); for(i=1;i*i<=b1;i++){ if(b1%i==0){ int x=i; if(gcd(a0,x)==a1&&b0*x==b1*gcd(b0,x))//b0*x/(最大公因数)=b1 { ans++; } if(i*i!=b1){//判断另一个因数 x=b1/i; if(gcd(a0,x)==a1&&b0*x==b1*gcd(b0,x)){ ans++; } } } } printf("%d\n",ans); } return 0; }
0.0分
0 人评分