###### 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)))
```