题目链接

#include<iostream>
using namespace std;
long gcd(long a,long b)
{
return b ? gcd(b,a%b) :a;
}
int main()
{
int N = 0;
int a[105] = {}, b[105] = {};
cin >> N;
for (int i = 0; i < N; i++)
{
cin >> a[i];
cin.ignore();
cin >> b[i];
}
long bei = b[0];
for (int i = 1; i < N; i++)
{
bei = bei / gcd(bei, b[i]) * b[i];
}
long fenzi = 0;
for (int i = 0; i < N; i++)
{
fenzi += bei / b[i] * a[i];
}
long long shang = fenzi / bei;
long long yu = abs(fenzi % bei);
if (yu==0)
{
cout << shang << endl;
}
else
{
if (shang!=0)
{
cout << shang << " ";
}
if (fenzi<0)
{
cout << "-";
}
cout << yu / gcd(bei, yu) << "/" << bei / gcd(bei, yu)<<endl;
}
return 0;
}