【知识点】拓展欧几里得与中国剩余定理

在上一篇文章中,我们已经熟知了有关公约数和欧几里得算法的相关事宜。详情参见:欧几里得算法求最大公约数。本文将作为上篇文章内容的一个延续,简要阐述拓展欧几里得算法和中国剩余定理。

拓展欧几里得算法

拓展欧几里得算法(Extended Euclidian Algorithm),是欧几里得算法的扩展版本,用于在计算两个数的最大公约数 gcd ⁡ ( a , b ) \gcd(a, b) gcd(a,b) 的同时,找到这两个整数的 贝祖系数(即这两个整数的线性组合等于其最大公约数的系数)。

举例而言,如果给定两个整数 a , b a, b a,b,我们不仅可以找到这两个整数的最大公约数,还可以找到两个整数 x , y x, y x,y,满足:

a x + b y = gcd ⁡ ( a , b ) ax + by = \gcd(a, b) ax+by=gcd(a,b)

与此同时,我们也将这个方程称之为 贝祖等式(Bézout’s identity)。拓展欧几里得算法在数论和计算机应用方面有着极其突出的贡献和广泛的应用。例如求解线性同余方程,本文也将会围绕求解同余方程来展开。

线性同余方程

线性同余方程指的是形如 a x ≡ b ( m o d m ) ax \equiv b \pmod m axb(modm) 的方程,其中 a a a b b b 表示两个已知的整数常量, x x x 是需要求解的未知整数,符号 ≡ \equiv 表示同余关系,即等式两边同时对 m m m 取模结果相同。

具体地说,线性同余方程要求找到一个整数 x x x,使得 a x ax ax 除以 m m m 所得的余数等于 b b b,或者说 a x ax ax b b b m m m 取余后余数相等。该类型的问题通常存在唯一的解或者无解。

拓展欧几里得算法过程推导

拓展欧几里得算法与普通的欧几里得算法相同,都可以通过递归的方式来非常简便地计算出结果。

假设有两个非负整数 a a a b b b(在满足 a ≤ b a \le b ab 的情况下),设 r = a m o d    b r = a \mod b r=amodb,那么根据欧几里得算法可以得出结论 gcd ⁡ ( a , b ) = gcd ⁡ ( b , r ) \gcd(a, b) = \gcd(b, r) gcd(a,b)=gcd(b,r)。根据欧几里得算法的推到过程,可以得到:

b x 1 + r y 1 = gcd ⁡ ( b , r ) bx_1 + ry_1 = \gcd(b, r) bx1+ry1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值