NOIP2009T2 Hankson 的趣味题

题面
水道题大家不会发现吧 不会吧

#include<bits/stdc++.h>
using namespace std;
int t,a,b,x,a0,a1,b0,b1,ans;
int main(){
    
    
    scanf("%d",&t);
    while(t--){
    
    
        scanf("%d%d%d%d",&a0,&a1,&b0,&b1);
        int a=a0/a1,b=b1/b0;
        ans=0;
        for(int i=1;i*i<=b1;i++){
    
    
            if(b1%i==0){
    
    
                if(i%a1==0&&__gcd(a,i/a1)==1&&__gcd(b,b1/i)==1)ans++;
                if(i*i==b1)continue;
                x=b1/i;
                if(x%a1==0&&__gcd(a,x/a1)==1&&__gcd(b,b1/x)==1)ans++;
            }
        }
        printf("%d\n",ans);
    }
}

猜你喜欢

转载自blog.csdn.net/dhdhdhx/article/details/102954493