遞迴函數最大公因數

遞歸函式求最大公因數可以使用輾轉相除法,具體步驟如下:

  1. 輾轉相除法的基本思想是:用較大的數除以較小的數,反覆用此法,直到餘數小於原數的一半為止,此時餘數就是最大公因數。
  2. 使用遞歸函式實現輾轉相除法,可以定義一個遞歸函式,參數為兩個整數a和b,返回值為它們的最大公因數。函式的具體實現如下:
def gcd(a, b):
    if b == 0:
        return a
    else:
        return gcd(b, a % b)

這個遞歸函式會一直遞歸下去,直到b等於0為止。每次遞歸都會將b和a對b取模的結果作為新的參數傳入函式中,直到b為0時返回a即為最大公因數。

需要注意的是,遞歸函式在處理大整數時可能會存在棧溢出的問題,因此在實際使用中需要注意數據規模。