網頁

2025年9月28日 星期日

TQC+ Python 證照考題評量(四十七) - 最簡分數

 一、主題介紹:

學校數學課曾經教過如何將分數化為最簡分數,有的用分子分母直接約分方法,有的取最大公因數的方法..等,不管使用哪種方法都可以化最簡分數取得正確答案,那也可以使用程式自動算出答案出來,怎麼做呢?我們來看看下面 TQC+ 考題的應用。

(1) 題目

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

(2) 輸入輸出

#輸入

二個分數

#輸出

兩個分數的和,並化為最簡分數列印輸出

#範例輸入

1,2

1,6

#範例輸出

1/2 + 1/6 = 2/3



二、程式範例:


1. import math
2.
3. def compute(p,q):
4.     return math.gcd(p,q)
5.
6. x,y = eval(input())
7. m,n = eval(input())
8. p = m*y + n*x
9. q = n*y
10. gcd = compute(p,q)
11. print(f"{x}/{y} + {m}/{n} = {int(p/gcd)}/{int(q/gcd)}")

#執行結果

1,2

1,6

1/2 + 1/6 = 2/3



三、程式解說:

第 1 行: 匯入 math 模組。

第 3~4 行: 定義函式 compute() 帶入兩數字參數,回傳最大公因數值。

第 6 行: 輸入的第 1 組分數,分別分子存於 x 變數、分母存於 y 變數中。

第 7 行: 輸入的第 2 組分數,分別分子存於 m 變數、分母存於 n 變數中。

第 8 行: 計算出兩個分數和的分子,將其存於 p 變數中。

第 9 行: 計算出兩個分數和的分母,將其存於 q 變數中。

第 10 行: 將分子 p 與分母 q 帶入函式 compute() 計算並回傳值存於 gcd 變數中。

第 11 行: 列印輸出 2 個分數和的最簡分數答案。






沒有留言:

張貼留言

TQC+ Python 證照考題評量(五十四) - 平均溫度

 一、主題介紹: 資料庫中的一堆數據資料,時常需要這些資料的平均值、最大值、與最小值,作為分析資料的依據,如能透過寫程式讓它們自動化就能增加效率,就來看看今天的 TQC+ 考題的練習。 (1) 題目 請撰寫一程式,讓使用者輸入四週各三天的溫度,接著計算並輸出這四週的平均溫度及最高...