zoukankan      html  css  js  c++  java
  • hdu acm1713

    思路是:通分后求分子的最小公倍数,在除以通分后的分母(看了别人的思路才知道分数的最小公倍数是这样求的,起初只是知道要求公倍数,但是不知道怎么求,汗,我可怜的数学啊~~~)

    #include "stdio.h"

    __int64 gcd(__int64 a,__int64 b)
    {
     if(a%b==0)
      return b;
     else
      return gcd(b,a%b);
    }

    int main()
    {
     int T;
     __int64 t1,q1,t2,q2,ts,kq,t;

     scanf("%d",&T);
     while(T--)
     {
      scanf("%I64d/%I64d %I64d/%I64d",&q1,&t1,&q2,&t2);
      kq=gcd(t1,t2);
      t=t1/kq*t2;//通分后的分母
      q1=t2/kq*q1;//通分后的分子
      q2=t1/kq*q2;//通分后的分子
      ts=q1/gcd(q1,q2)*q2;//分子的最小公倍数
      if(t==gcd(t,ts))
       printf("%I64d\n",ts/gcd(t,ts));
      else
       printf("%I64d/%I64d\n",ts/gcd(t,ts),t/gcd(t,ts));
     }

     return 0;
    }

  • 相关阅读:
    js,js中使用正则表达式
    web开发中文件下载
    EL表达式
    Servlet Filter
    压缩文件 乱码问题(转载)
    MFC CopyDirectory
    SaveFileDialog
    Create Window
    CDateTimeCtrl 设置时间
    键值表
  • 原文地址:https://www.cnblogs.com/Shirlies/p/2325211.html
Copyright © 2011-2022 走看看