HDU 1713 相遇周期

#include <cstdio>

long long gcd(long long a,long long b)

{

    if (b==0) return a;

    return (gcd(b,a%b));

}



int main()

{

    int t;

    long long a,b,c,d;

    scanf("%d",&t);

    while (t--)

    {

        scanf("%I64d/%I64d%I64d/%I64d",&a,&b,&c,&d);

        a=a*b*c*d/gcd(a*d,c*b);      

        b=b*d;

        if(a%b) {c=gcd(a,b); printf("%I64d/%I64d%\n",a/c,b/c);}

        else printf("%I64d\n",a/b);

    }

    return 0;

}

注意点:不同系统上int64类型的输出方法均不同。

你可能感兴趣的:(HDU)