開始使用免費開始

互質數序列

若兩個數 \(a\) 與 \(b\) 的最大公因數(GCD)為 1,則它們互質。 GCD 是可以同時整除給定兩個數 \(a\) 與 \(b\) 的最大正整數。例如,7 和 9 的 GCD 為 1,所以它們互質。

給定兩個串列 list1list2,你的任務是建立一個新的串列 coprimes,其中包含 list1list2 中所有互質的數對。

但在此之前,你需要依照下列演算法撰寫一個計算 GCD 的函式:

  1. 檢查是否 \(b = 0\)
    • 若為真,回傳 \(a\) 作為 \(a\) 與 \(b\) 的 GCD
    • 若為否,前往步驟 2
  2. 進行代換:\(a \leftarrow b\) 且 \(b \leftarrow a \% b\)
  3. 回到步驟 1

本練習屬於課程

Python 程式面試題實作練習

檢視課程

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

def gcd(a, b):
    # Define the while loop as described
    while ____:
        temp_a = ____
        a = ____
        b = ____ 
    # Complete the return statement
    return ____
編輯並執行程式碼