首页 > 其他 > 详细

hdu acm-step 2.1.3 相遇周期

时间:2017-08-19 21:53:21      阅读:260      评论:0      收藏:0      [点我收藏+]

技术分享

  本题题意:给出两个卫星分数形式的速度,求它们的相遇周期。

  

#include <cstdio>
#define ll long long
using namespace std;
ll gcd(ll a,ll b)
{
        ll r;
        while(b)
        {
                r = a%b;
                a = b;
                b = r;
        }
        return a;
}

ll lcm(ll a,ll b)
{
        return a*b/gcd(a,b);
}
int main()
{
        int T;
        scanf("%d",&T);
        while(T--)
        {
                ll a,b,c,d;
                scanf("%lld/%lld%lld/%lld",&a,&b,&c,&d);
                a = a*d;
                c = c*b;
                ll p = lcm(a,c);
                ll q = b*d;
                if(p%q == 0)printf("%lld\n",p/q);
                else{ll t = gcd(p,q);printf("%lld/%lld\n",p/t,q/t);};
        }
        return 0;
}

这道题一到手我整个人都是懵的...相遇周期是啥,完全不懂。后来百度了才知道就是求最小倍数,不过是分数形式的.

首先把通分,然后求出分子的最小公倍数lcm,若lcm可以整除分母,那么打印整数结果,否则约分后输出分数结果。

 

hdu acm-step 2.1.3 相遇周期

原文:http://www.cnblogs.com/mtl6906/p/7397859.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!