题目:
1 #include <cstdio>
2 using namespace std;
3 long long z[105],m[105];
4 long long gcd(long long a,long long b)
5 {
6 long s=a,t=b;
7 long long c = a%b;
8 while(c){
9 a = b;
10 b = c;
11 c = a % b;
12 }
13 return s*t/b;
14 }
15 long long gcd1(long long a,long long b)
16 {
17 long s=a,t=b;
18 long long c = a%b;
19 while(c){
20 a = b;
21 b = c;
22 c = a % b;
23 }
24 return b;
25 }
26 int main()
27 {
28 int nn;
29 scanf("%d",&nn);
30 for(int i=0;i<nn;i++)
31 scanf("%lld/%lld",z+i,m+i);
32 long long n=1;
33 for(int i=0;i<nn;i++)
34 {
35 n=gcd(n,m[i]);
36 }
37 int c;
38 for(int i=0;i<nn;i++)
39 {
40 c=n/m[i];
41 z[i]*=c;
42 }
43 long long sum=0;
44 for(int i=0;i<nn;i++)
45 sum+=z[i];
46 if(sum%n==0)
47 printf("%lld
",sum/n);
48 else
49 {
50 long long cc=sum/n;//整数
51 long long fenmu=sum%n;
52 long long ccc=gcd1(fenmu,n);
53 if(cc==0)
54 printf("%lld/%lld",fenmu/ccc,n/ccc);
55 else
56 printf("%lld %lld/%lld",cc,fenmu/ccc,n/ccc);
57 }
58 return 0;
59 }