*【模拟】分数加法
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Description
【题意】求 $n$ 个分数 $\frac{a_i}{b_i}$ 的和 。
【输入格式】
第一行是一个整数 $n(1 \le n \le 10)$ 。
接下来 $n$ 行,每行一个分数,用 $a_i/b_i$ 的形式表示,$a_i \ b_i$ 均不超过10。
【输出格式】
输出一行,用 $X/Y$ 的形式表示,即最终结果的最简形式。
注:
$2/1$ 要化为 $2$
$4/6$ 要化为 $2/3$
【样例输入】
2
1/3
1/4
【样例输出】
7/12
Hint
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL p[15],q[15];
LL gcd(LL x,LL y)
{
if(x==0) return y;else return gcd(y%x,x);
}
int main()
{
int n;scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%lld/%lld",&p[i],&q[i]);
LL lcd=q[1];for(int i=2;i<=n;i++)lcd=lcd/gcd(lcd,q[i])*q[i];
LL sum=0; for(int i=1;i<=n;i++)sum+=p[i]*(lcd/q[i]);
LL g=gcd(sum,lcd);
sum/=g;
lcd/=g;
if(lcd==1) printf("%lld\n",sum);
else printf("%lld/%lld\n",sum,lcd);
return 0;
}