话不多说,日常一水题,水水更健康!┗|`O′|┛ 嗷~~

a/b + c/d

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 14345    Accepted Submission(s): 7470

Problem Description
给你2个分数,求他们的和,并要求和为最简形式。
 
Input
输入首先包含一个正整数T(T<=1000),表示有T组测试数据,然后是T行数据,每行包含四个正整数a,b,c,d(0<a,b,c,d<1000),表示两个分数a/b 和 c/d。
 
Output
对于每组测试数据,输出两个整数e和f,表示a/b + c/d的最简化结果是e/f,每组输出占一行。
 
Sample Input
2
1 2 1 3
4 3 2 3
 
Sample Output
5 6
2 1
 
Source
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2503
分析:就是求最大公约数与最小公倍数,概念详解请参看我的博客!
下面给出AC代码:
 #include <bits/stdc++.h>
using namespace std;
int gcd(int a,int b)
{
return b==?a:gcd(b,a%b);
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
while(n--)
{
int a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
int t=gcd(b,d);//先求出两分母的最大公因式
int m=b*d/t;//求出两分母的最小公倍数
int k=m/b*a+m/d*c;//再计算两分子之和
int x=gcd(k,m);//新的分子与新的分母的比值,先得求出新分子与新分母的最大公因式
int q1=k/x;//求最简整数比,分别输出即可!
int q2=m/x;
printf("%d %d\n",q1,q2);//注意空格的输出
}
}
return ;
}
 

HDU 2503 a/b + c/d(最大公约数与最小公倍数,板子题)的更多相关文章

  1. HDOJ(HDU) 2503 a/b + c/d(最大公约数问题)

    Problem Description 给你2个分数,求他们的和,并要求和为最简形式. Input 输入首先包含一个正整数T(T<=1000),表示有T组测试数据,然后是T行数据,每行包含四个正 ...

  2. HDU 2504 又见GCD(最大公约数与最小公倍数变形题)

    又见GCD Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  3. HDU 2037 今年暑假不AC(贪心,区间更新,板子题)

    今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  4. HDU 1166 敌兵布阵(线段树单点更新,板子题)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  5. HDU.2503 a/b + c/d (分式化简)

    a/b + c/d Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  6. 求N个数的最大公约数和最小公倍数(转)

    除了分解质因数,还有另一种适用于求几个较小数的最大公约数.最小公倍数的方法 下面是数学证明及算法实现 令[a1,a2,..,an] 表示a1,a2,..,an的最小公倍数,(a1,a2,..,an)表 ...

  7. Java程序设计之最大公约数和最小公倍数

    题目:输入两个正整数number1和number2,求其最大公约数和最小公倍数. 算法:较大数和较小数取余,较小数除余数,一直到余数为0时,为最大公约数(辗转相除法):最大公倍数numbe1*numb ...

  8. 辗转相除法求最大公约数和最小公倍数【gcd】

    要求最小公倍数可先求出最大公约数 设要求两个数a,b的最大公约数 伪代码: int yushu,a,b: while(b不等于0) { yushu=a对b求余 b的值赋给a yushu的值赋给b } ...

  9. PAT - 基础 - 最大公约数和最小公倍数

    题目: 本题要求两个给定正整数的最大公约数和最小公倍数. 输入格式: 输入在一行中给出2个正整数M和N(<=1000). 输出格式: 在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1 ...

随机推荐

  1. IEEE1588协议简介

    IEEE1588协议,又称PTP(precise time protocol,精确时间协议),可以达到亚微秒级别时间同步精度,于2002年发布version1,2008年发布version2. IEE ...

  2. Spring框架中ModelAndView、Model、ModelMap区别

    原文地址:http://www.cnblogs.com/google4y/p/3421017.html SPRING框架中ModelAndView.Model.ModelMap区别   注意:如果方法 ...

  3. Hibernate学习---单表查询

    我们都知道SQL是非常强大的,为什么这么说呢?相信学过数据库原理的同学们都深有体会,SQL语句变化无穷,好毫不夸张的说可以实现任意符合我们需要的数据库操作,既然前面讲到Hibernate非常强大,所以 ...

  4. 基于阿里云的MQTT远程控制

    好久没有写博客了,眼看自己的项目就要快做完了,先分享一下基于MQTT的远程控制,自己买了一个阿里的云端,然后在云端上安装了一个MQTT服务器,其实是一不小心买了两个,所以准备贡献出来一个供大家使用, ...

  5. HTML中的超链接

    超链接:也叫URL(Uniform Resource Locator),就是统一资源定位器.一般效果是我们点击网页上某个地方,网页会自动跳转到另外一个地方. 一般链接遵循以下要求:scheme://h ...

  6. beanstalk 安装

    1.安装 # wget https://github.com/kr/beanstalkd/archive/v1.10.tar.gz # tar xzvf v1.10 # cd beanstalkd-1 ...

  7. Numpy

    一  : 安装ipython以及用到的包介绍 # 这里我们会用到ipython解释器,本文代码在ipython下运行 Pip3 install ipython Pip3 install jupyter ...

  8. c3p0使用记录

    首先要导入c3p0包.c3p0下载解压后,lib目录下有三个包,使用mysql的话,只需要导入c3p0-0.9.5.2.jar,mchange-commons-java-0.2.11.jar. 要连接 ...

  9. linux socket编程:简易客户端与服务端

    什么是socket? socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来 ...

  10. 【软件】关于Notepad++(32位)

    1.Notepad++安装包 简介:NotePad++是一个轻量级的代码编辑器,占用内存少,运行速度快. 官网网址:https://notepad-plus-plus.org/ 百度网盘:https: ...