歐幾裏德算法(自寫理解)
阿新 • • 發佈:2019-01-17
約數 但是 們的 這樣的 拓展 軌跡 等於 spa -- 不是直接去解我們的方程 ax+by=c的,但是可以間 接求解,extgcd 求解的是什麽呢
k咋辦("▔□▔) 自然那結果就是無解啦
gcd歐幾裏德算法 求取最大公約數gcd(a,b)
這個不用多說了
extgcd拓展歐幾裏德算法 用於求解 ax+by=gcd(a,b)的解
這個要多說一下
ax+by=c,(a,b,c都是常數)
這就是一個直線方程嘛!(x,y)就是一條直線的軌跡
但是呢 我們在計算機中經常要求一些離散的東西,也就是我們要求整數解
這個咋求呢,就可以用這個神仙方法extgcd可以來求
我們可以用extgcd求解 ax+by=c的整數點的解
extgcd的內容呢:extgcd可以能求gcd----原理嘛,自己慢慢想這個神仙方法。extgcd
extgcd 可以直接求解的是 ax+by=gcd(a,b)的解。
也就是說我們調用extgcd可以獲得的結果是ax+by=gcd(a,b)的一組整數解。
那我們要求的是什麽 是ax+by=c 而不是ax+by=gcd(a,b)啊
那咋辦 我們可以設置一個變量 k axk+byk=gcd(a,b)*k 這個很好說吧!就是等式兩邊同時乘k。
如果我們存在整數k 使得gcd(a,b)*k等於c 那我們要求的ax+by=c的解就出來啦
就是我們extgcd 求出的解乘上這個k
如果不存在這樣的
歐幾裏德算法(自寫理解)