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\n",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 }
时间: 2024-10-14 00:43:27