pta天梯L1-009 N个数求和
L1-009 N个数求和 - 团体程序设计天梯赛-练习集
from math import gcd,lcm
n = int(input())
arr = map(str,input().split())
a,b = [],[]
for i in arr:
sta = ''
for j in i:
if j == '/':
a.append(int(sta))
sta = ''
else:
sta += j
b.append(int(sta))
an = 1
for i in b:
an = lcm(i,an)
for i in range(n):
a[i] = a[i] * (an // b[i])
bn = sum(a)
if bn < 0:
bn = -1 * bn
ans1 = bn // an
bn = bn % an
cn = gcd(an, bn)
ans = str(bn // cn) + '/' + str(an // cn)
if ans1 != 0:
if bn % an != 0:
print(-1 * ans1,'-' + ans)
else:
print(-1 * ans1)
else:
if bn % an != 0:
print('-' + ans)
else:
print(0)
else:
ans1 = bn // an
bn = bn % an
cn = gcd(an, bn)
ans = str(bn // cn) + '/' + str(an // cn)
if ans1 != 0:
if bn % an != 0:
print(ans1,ans)
else:
print(ans1)
else:
if bn % an != 0:
print(ans)
else:
print(0)