宁波奢华做网站排名,好用的seo软件,网页版微信登录入口官网,知言 wordpress1209#xff1a;分数求和 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 19111 通过数: 10647
【题目描述】 输入n个分数并对他们求和#xff0c;并用最简形式表示。所谓最简形式是指#xff1a;分子分母的最大公约数为11#xff1b;若最终结果的分母为11分数求和 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 19111 通过数: 10647
【题目描述】 输入n个分数并对他们求和并用最简形式表示。所谓最简形式是指分子分母的最大公约数为11若最终结果的分母为11则直接用整数表示。 如5/6、10/3均是最简形式而3/6需要化简为1/2,3/1需要化简为3。 分子和分母均不为0也不为负数。 【输入】 第一行是一个整数n表示分数个数1≤n≤10 接下来n行每行一个分数用p/q的形式表示不含空格pq均不超过1010。 【输出】 输出只有一行即最终结果的最简形式。若为分数用p/q的形式表示。 【输入样例】
2
1/2
1/3
【输出样例】
5/6
先算每个分母与当前分母的最大公约数进而求出最小公倍数通分通分完后约分。最后输出时判断是否可以化为整数
#includebits/stdc.h
using namespace std;
int n;
int b,a,c;
int yf(long long x,long long y)
{if(xy)swap(x,y);if(x%y0)return y;elsereturn yf(x%y,y);
}
int main()
{cinn;cina;getchar();cinb;for(int i2;in;i){int x,y,gcd,mcd;char z;cinxzy;if(y!b){gcdyf(b,y);mcdb*y/gcd;amcd/b*a;bmcd;xmcd/y*x;}ax;gcdyf(a,b);a/gcd;b/gcd;}if(a%b0)couta/b;elsecouta/b;
}