Python如何用歐幾里得求逆元

25minutes發表於2021-09-11

Python如何用歐幾里得求逆元

Python用歐幾里得求逆元的方法:

建立一個帶引數返回值的函式,編寫求逆元的一次演算法,採用遞迴的方式迴圈呼叫函式,遞迴直至餘數等於零。呼叫該函式,將需要求的數值帶入進去,執行該函式就可以了

示例程式碼如下:

def ext_gcd(a, b): #擴充套件歐幾里得演算法    
    if b == 0:          
        return 1, 0, a     
    else:         
        x, y, gcd = ext_gcd(b, a % b) #遞迴直至餘數等於0(需多遞迴一層用來判斷)        
        x, y = y, (x - (a // b) * y) #輾轉相除法反向推導每層a、b的因子使得gcd(a,b)=ax+by成立         
        return x, y, gcd

執行結果如下:

ext_gcd(1848,701)
>>> (-11, 29, 1)

更多Python知識,請關注:!!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4328/viewspace-2833186/,如需轉載,請註明出處,否則將追究法律責任。

相關文章