---
# System prepended metadata

title: TQC+ 程式語言Python 509 最簡分數
tags: [python-TQC]

---

###### tags: `python-TQC`
#  TQC+ 程式語言Python 509 最簡分數

1. 題目說明:
請開啟PYD509.py檔案，依下列題意進行作答，加總兩個分數總和，並簡化為最簡分數，使輸出值符合題意要求。作答完成請另存新檔為PYA509.py再進行評分。

2. 設計說明：
請撰寫一程式，讓使用者輸入二個分數，分別是x/y和m/n（其中x、y、m、n皆為正整數），計算這兩個分數的和為p/q，接著將p和q傳遞給名為compute()函式，此函式回傳p和q的最大公因數（Greatest Common Divisor, GCD）。再將p和q各除以其最大公因數，最後輸出的結果必須以最簡分數表示。

3. 輸入輸出：
輸入說明
四個正整數（以半形逗號分隔）
x,y
m,n

輸出說明
兩個分數和的最簡分數

![](https://i.imgur.com/v9I1Vpl.png)

```python=
#method 1
import math
def compute(p,q):
    return math.gcd(p,q)

(x,y) = eval(input())
(m,n) = eval(input())
p = x*n+y*m
q = y*n
g = compute(p,q)
print("{}/{} + {}/{} = {}/{}".format(x,y,m,n,int(p/g),int(q/g)))


#method 2
def compute(p,q):
    gcd = 1
    for i in range(2,min(p,q)+1):
        if p%i == 0 and q%i == 0:
            gcd = i
    return gcd


x,y = eval(input())
m,n = eval(input())
p = x*n+m*y
q = y*n
gcd = compute(p,q)
print("{}/{} + {}/{} = {}/{}".format(x,y,m,n,int(p/gcd),int(q/gcd)))
```
