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类型的输出方法均不同。

posted @ 2013-12-27 14:50  forever97  阅读(127)  评论(0编辑  收藏  举报