求最小公倍数 每次求和以后都要求最小公倍数 long long加起来也会溢出的
#include<bits/stdc++.h>
using namespace std;
long long gcb(long long a,long long b)
{
return b == 0 ? abs(a) : gcb(b, a % b);
}
int main(void)
{
freopen("pat0314/in.txt","r",stdin);
long long n;
long long suma = 0,sumb = 1,a,b,gcbvalue;
scanf("%lld",&n);
for(int i = 0;i<n;i++)
{
scanf("%lld/%lld",&a,&b);
gcbvalue = gcb(a,b);
a /= gcbvalue;
b /= gcbvalue;
suma = b * suma + a * sumb;
sumb = b * sumb;
gcbvalue = gcb(suma,sumb);
suma /= gcbvalue;
sumb /= gcbvalue;
}
long long size = suma / sumb;
suma = suma - size * sumb;
if(size != 0)
{
printf("%lld",size);
if(suma != 0)
{
printf(" ");
}
}
if(suma != 0)
{
printf("%lld/%lld",suma,sumb);
}
else if(size == 0 && suma == 0)
{
printf("0");
}
return 0;
return 0;
}```