Java遞迴最大公因數

在Java中,可以使用遞迴來找出兩個數字的最大公因數(Greatest Common Divisor, GCD)。一個簡單的遞迴算法是歐幾里得算法(Euclidean algorithm),也稱為輾轉相除法。

以下是一個使用遞迴的Java函數,用來計算兩個數字的GCD:

public static int gcd(int a, int b) {
    if (b == 0) {
        return a;
    }
    return gcd(b, a % b);
}

這個函數的工作原理是:

  1. 如果第二個參數b為0,那麼a就是它自己和b的最大公因數。
  2. 如果b不是0,那麼繼續調用gcd函數,第一個參數為b,第二個參數為a除以b的餘數。

這樣,遞迴調用會一直持續,直到b為0,此時函數會返回a的值,這就是a和b的最大公因數。

你可以這樣使用這個函數:

public static void main(String[] args) {
    int a = 40;
    int b = 15;

    int gcd = gcd(a, b);
    System.out.println("The GCD of " + a + " and " + b + " is " + gcd);
}

當你運行這個程式時,它會輸出:

The GCD of 40 and 15 is 5

這意味著40和15的最大公因數是5。