PAT (Advanced Level) 1081. Rational Sum (20)
简单模拟题。
#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
#include<map>
#include<stack>
#include<queue>
#include<string>
#include<algorithm>
using namespace std; struct FenShu
{
long long fz,fm;
FenShu(long long a,long long b)
{
fz=a;
fm=b;
}
}; long long gcd(long long a,long long b)
{
if(b==) return a;
return gcd(b,a%b);
} FenShu ADD(FenShu a,FenShu b)
{
FenShu res(,);
res.fz=a.fz*b.fm+b.fz*a.fm;
res.fm=a.fm*b.fm; if(res.fz!=)
{
long long GCD=gcd(abs(res.fz),abs(res.fm));
res.fz=res.fz/GCD;
res.fm=res.fm/GCD;
}
else
{
res.fz=;
res.fm=;
}
return res;
} int main()
{
int n; scanf("%d",&n);
FenShu ans(,);
for(int i=;i<=n;i++)
{
long long fz,fm; scanf("%lld/%lld",&fz,&fm);
FenShu t(fz,fm);
ans=ADD(ans,t);
}
//printf("%d/%d\n",ans.fz,ans.fm);
if(ans.fz==) printf("0\n");
else
{
if(ans.fz%ans.fm==) printf("%lld\n",ans.fz/ans.fm);
else if(abs(ans.fz)<ans.fm) printf("%lld/%lld\n",ans.fz,ans.fm);
else
{
long long d=ans.fz/ans.fm;
ans.fz=ans.fz-d*ans.fm;
printf("%lld %lld/%lld\n",d,ans.fz,ans.fm);
}
}
return ;
}
PAT (Advanced Level) 1081. Rational Sum (20)的更多相关文章
- 【PAT甲级】1081 Rational Sum (20 分)
		
题意: 输入一个正整数N(<=100),接着输入N个由两个整数和一个/组成的分数.输出N个分数的和. AAAAAccepted code: #define HAVE_STRUCT_TIMESPE ...
 - PAT (Advanced Level) 1088. Rational Arithmetic (20)
		
简单题. 注意:读入的分数可能不是最简的.输出时也需要转换成最简. #include<cstdio> #include<cstring> #include<cmath&g ...
 - PAT (Advanced Level) Practice 1008 Elevator (20 分) 凌宸1642
		
PAT (Advanced Level) Practice 1008 Elevator (20 分) 凌宸1642 题目描述: The highest building in our city has ...
 - PAT (Advanced Level) Practice 1035 Password (20 分) 凌宸1642
		
PAT (Advanced Level) Practice 1035 Password (20 分) 凌宸1642 题目描述: To prepare for PAT, the judge someti ...
 - PAT Advanced 1081 Rational Sum (20) [数学问题-分数的四则运算]
		
题目 Given N rational numbers in the form "numerator/denominator", you are supposed to calcu ...
 - PAT甲题题解-1081. Rational Sum (20)-模拟分数计算
		
模拟计算一些分数的和,结果以带分数的形式输出注意一些细节即可 #include <iostream> #include <cstdio> #include <algori ...
 - 1081. Rational Sum (20)
		
the problem is from PAT,which website is http://pat.zju.edu.cn/contests/pat-a-practise/1081 the code ...
 - 1081. Rational Sum (20) -最大公约数
		
题目如下: Given N rational numbers in the form "numerator/denominator", you are supposed to ca ...
 - PAT (Advanced Level) Practice 1035 Password (20 分)
		
To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem ...
 
随机推荐
- 兼容IE低版本
			
1,IE6PNG透明的bug,只需要把png图另存为无杂边的png-8格式 2,在IE6用overflow:hidden清除浮动,要加上zoom:1 3,IE6下盒子的最小高度为20px 如果要小于2 ...
 - php过滤提交数据 防止sql注入攻击
			
规则 1:绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据. ...
 - CSS概要
			
CSS概要 laiqun@msn.cn Contents 1. css的引入 2. css的选择器及效果图 3. css 盒模型 4. css 浮动 4.1. 浮动的作用: 4.2. 浮动的影响: 5 ...
 - Inno Setup入门(六)——在程序目录下创建文件
			
创建文件夹可以使用[dirs]段实现,代码如下: [setup] ;全局设置,本段必须 AppName=Test AppVerName=TEST DefaultDirName="E:\TES ...
 - nginx+php-fpm 的配置下,php的错误日志
			
发现php 运行错误时,浏览器的网页上并没有输出php的错误日志.那php的错误日志在哪里呢? 发现在 /var/log/nginx/error.log文件中. 怎么样才能在浏览器的网页中输出php的 ...
 - 关于jQuery的条件判断问题
			
遇到的第一个问题,点击第一行用toggle实现背景的变换,需要在toggle函数里面判断,当下面显示的时候是一个状态,下面不显示的时候是另一个状态,我用了 if($(".check-box& ...
 - HDU 5455  Fang Fang 水题,但题意描述有问题
			
题目大意:f[1]=f,f[2]=ff,f[3]=ffc,以后f[n]每增加1,字符串增加一个c.给出一个字符串,求最少有多少个f[]组成.(字符串首尾相连,比如:ffcf可看做cfff) 题目思路: ...
 - python注意事项
			
以下基于python3.4.3 1.python3与python2不兼容 2.python语言正确的缩进很重要!事实上缩进是种语法 C中需要 { } 的的地方,python使用 : +缩进 实现 3. ...
 - 代码创建xml文档并写入指定节点
			
//首先创建 XmlDocument xml文档 XmlDocument xml = new XmlDocument(); //创建根节点 config XmlElement config = xml ...
 - C++文件编程(文件流操作)
			
给出了比较常见的文件操作,包括二进制文件操作.代码如下: #include<iostream> #include<cstdio> #include<cstring> ...