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);
}
這個函數的工作原理是:
- 如果第二個參數b為0,那麼a就是它自己和b的最大公因數。
- 如果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。