最大公約數計算

最大公約數(Greatest Common Divisor,GCD),也稱為最大公因數,是指兩個或更多整數共有因數中最大的那一個。計算最大公約數有許多方法,以下是其中幾種常見的方法:

  1. 質因數分解法: 將每個數分解為質因數的乘積,然後找出所有出現的質因數,並將它們相乘。

    例如,要找出24和36的最大公約數,我們將它們分解為質因數: 24 = 2^3 3^1 36 = 2^2 3^2 最大公約數是2^2 * 3^1 = 12。

  2. 長除法: 使用長除法來找出兩個數的最大公約數。每次將除不盡的餘數作為新的被除數,直到餘數為0為止。最後的除數就是最大公約數。

    例如,要找出12和18的最大公約數,我們可以這樣做: 18 ÷ 12 = 1 R 6 12 ÷ 6 = 2 所以,最大公約數是6。

  3. 歐幾里得算法(Euclidean algorithm): 這是計算兩個整數最大公約數的一種高效算法,其基本思想是: a. 用較小的數字b除以較大的數字a,得到余數c。 b. 如果c = 0,則a是最大公約數;否則,用b替換a,用c替換b,重複步驟a和b,直到余數為0。

    例如,要找出100和42的最大公約數,我們可以這樣做: 100 ÷ 42 = 2 R 16 42 ÷ 16 = 2 R 10 16 ÷ 10 = 1 R 6 10 ÷ 6 = 1 R 4 6 ÷ 4 = 1 R 2 4 ÷ 2 = 2 因為余數不再為0,所以我們反轉過程: 2 ÷ 4 = 0 R 2 4 ÷ 6 = 0 R 4 6 ÷ 10 = 0 R 6 10 ÷ 16 = 0 R 10 16 ÷ 42 = 0 R 16 42 ÷ 100 = 0 R 42 所以,最大公約數是2。

  4. 輾轉相除法(輾轉相除法是歐幾里得算法的一種實現方式): a. 用較小的數字除以較大的數字,得到余數。 b. 用余數替換較小的數字,用除數替換較大的數字,重複步驟a,直到余數為0。

    例如,要找出100和42的最大公約數,我們可以這樣做: 100 ÷ 42 = 2 R 16 42 ÷ 16 = 2 R 6 16 ÷ 6 = 2 R 4 6 ÷ 4 = 1 R 2 4 ÷ 2 = 2 因為余數不再為0,所以我們反轉過程: 2 ÷ 4 = 0 R 2 4 ÷ 6 = 0 R 4 6 ÷ 16 = 0 R 6 16 ÷ 42 = 0 R 16 42 ÷ 100 = 0 R 42 所以,最大公約數是2。

這些方法都可以用來計算兩個整數的最大公約數。對於較小的數字,長除法可能更直觀,但對於較大的數字,歐幾里得算法和輾轉相除法通常更高效。