#include<bits/stdc++.h>
using namespace std;
int T,a1,a0,b0,b1;
//int cnt=0;
int gcd(int x,int y)
{
return y?gcd(y,x%y):x;
}
int lcm( int x, int y)
{
return x/gcd(x,y)*y;
}
int main()
{
cin>>T;
while(T--)
{
int cnt=0;
scanf("%d %d %d %d",&a0,&a1,&b0,&b1);
for(int i=1;i<=b1/i;i++)
if(b1%i==0)
{
if(gcd(i,a0)==a1 && lcm(i,b0)==b1)
cnt++;
if(b1/i!=i)
if(gcd(b1/i,a0)==a1 && lcm(b1/i,b0)==b1) cnt++;
}
printf("%d\n",cnt);
}
return 0;
}
为什么cnt只能定义在while循环里,不能定义全局变量