用 Python 編寫程式計算兩個數的公約數數量
假設我們有兩個數 a 和 b。我們必須計算有多少個正整數是 a 和 b 的公約數。
因此,如果輸入類似 a = 288 b = 240,那麼輸出將為 10,因為公約數為 [1,2,3,4,6,8,12,16,24,48]。
為了解決這個問題,我們將按照以下步驟進行操作 −
- res := 0
- 對於從 1 到 gcd(a, b) + 1 的範圍中的 i,執行
- 如果 (a 除以 i) 為 0 且 (b 除以 i) 為 0,那麼
- res := res + 1
- 如果 (a 除以 i) 為 0 且 (b 除以 i) 為 0,那麼
- 返回 res
示例
讓我們看看以下實現,以便更好地理解 −
from math import gcd def solve(a, b): res = 0 for i in range(1, gcd(a,b)+1): if (a % i) == 0 and (b % i) == 0: res += 1 return res a, b = 288, 240 print(solve(a, b))
輸入
288, 240
輸出
10
廣告