白駿1735号:噴水合



問題の説明

  • プログラミングは、現実に用いられるスコア計算法を実現する.
  • 方法


    ・∫7・A/B+C/D=(A∫D+B∮C)/B∮DA/B+C/D=(A*D+B*C)/B*DA/B+C/D=(A∮D+B∮C)/B∮D.
  • この問題のポイントは기약분수で表します.
  • 기약분수二度と分けられない点数形態であり、최대공약수と密接に関連している.
  • 分母と分子別최대공약수の値は기약분수
  • 正解

    a,b = list(map(int,input().split(' ')))
    c,d = list(map(int,input().split(' ')))
    
    numerator = (b*c+a*d) #분자
    denominator = b*d #분모
    
    #최대공약수
    def GCD(x,y):
        while y:
            x,y = y,x%y
        return x
    
    gcd = GCD(numerator,denominator)
    
    numerator = int(numerator/gcd) #최대공약수로 나누기(약분)
    denominator = int(denominator/gcd) #최대공약수로 나누기(약분)
    
    print(f"{numerator} {denominator}") #정답