计算机科学Euclidean 算法本页总览Euclidean 算法阐述 问题 给定正整数 a,ba,ba,b,求出 gcd(a,b)\gcd(a,b)gcd(a,b),并且找到 x,yx,yx,y 使得 ax+by=gcd(a,b)ax+by=\gcd(a,b)ax+by=gcd(a,b)。 算法 r0=ar1=bs0=1s1=0t0=0t1=1⋮⋮ri+1=ri−1−qiri and 0≤ri+1<∣ri∣( this defines qi)si+1=si−1−qisiti+1=ti−1−qiti⋮\begin{aligned} r_{0} &=a & r_{1}=b \\ s_{0} &=1 & s_{1}=0 \\ t_{0} &=0 & t_{1}=1 \\ & \vdots & \vdots \\ r_{i+1} &=r_{i-1}-q_{i} r_{i} & \text { and } 0 \leq r_{i+1}<\left|r_{i}\right| &\left(\text { this defines } q_{i}\right) \\ s_{i+1} &=s_{i-1}-q_{i} s_{i} & & \\ t_{i+1} &=t_{i-1}-q_{i} t_{i} & & \\ & \vdots & & \end{aligned}r0s0t0ri+1si+1ti+1=a=1=0⋮=ri−1−qiri=si−1−qisi=ti−1−qiti⋮r1=bs1=0t1=1⋮ and 0≤ri+1<∣ri∣( this defines qi) 当 rk+1=0r_{k+1}=0rk+1=0 时,rkr_krk 即为最大公约数,且 rk=ask+btkr_k=as_k+bt_krk=ask+btk。 实例 性质 相关内容 参考文献 Extended Euclidean algorithm