1 条题解

  • 0
    @ 2023-3-27 21:05:32
    using namespace std;
    int n,a0,a1,b0,b1,ans;
    int gcd(int a,int b){
    	return (!b)?a:gcd(b,a%b);
    }
    int main(){
    	cin>>n;
    	while(n--)
    	{
    		ans=0;
    		cin>>a0>>a1>>b0>>b1;
    		for(int i=1;i*i<=b1;i++)
    			if(!(b1%i))
    			{
    				if(!(i%a1)&&gcd(i/a1,a0/a1)==1&&gcd(b1/b0,b1/i)==1) ans++;
    				if(i==b1/i) continue;
    				if(!((b1/i)%a1)&&gcd(b1/i/a1,a0/a1)==1&&gcd(b1/b0,b1/(b1/i))==1) ans++;
    			}
    		cout<<ans<<endl;
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    125
    时间
    1000ms
    内存
    128MiB
    难度
    8
    标签
    递交数
    39
    已通过
    8
    上传者