扩展中国剩余定理学习笔记

为什么要扩展中国剩余定理?

建议学习前置芝士:中国剩余定理(不学也不要紧,因为并没有啥关系)

我们知道,中国剩余定理是用来解线性同余方程组的算法,类似下面这个:
\(x \equiv a_0 (p_0)\)
\(x \equiv a_1 (p_1)\)
\(x \equiv a_2 (p_2)\)

很不幸,这里要求\(p_0,p_1,p_2\)两两互质

.

如果不互质怎么办?当然是把出题者拖出去吊起来打啊。这时候就得有请我们的扩展中国剩余定理了。


什么是扩展中国剩余定理?

如上说述,就是用来求线性同余方程组的定理,但不要求p两两互质。


怎么扩展中国剩余定理?

中国剩余定理的基本原则是将原方程组两两合并直至只有一个方程。

那咋合并呢?

假设我们现在有两个同余方程:

\(x \equiv a_0 (p_0)\)

\(x \equiv a_1 (p_1)\)

我们可以先写出式子:

\(x=p_0*k_0+a_0=p_1*k_1+a_1\)

移项得(我们这里的k在R上任意取值,因此不用纠结它的符号):

\(p_0*k_0+p_1*k_1=a_1-a_0\)

emmmmm,这个式子是不是有一点点眼熟?

没错,我们可以用exgcd来求这个\(k_0\)

这里就引出了我们扩展中国剩余定理的有解的要求:\(a_1-a_0\)必须为\(gcd(p_0,p_1)\)的倍数

当然,我们右边的\(a_1-a_0\)不一定等于\(gcd(p_0,p_1)\),因此,我们用exgcd算出来的\(k_0\)必须乘以\(\frac{a_1-a_0}{gcd(p_0,p_1)}\)

酱紫,我们将\(k_0\)\(\frac{p_1}{gcd(p_0,p_1)}\)来得到\(k_0\)的最小正整数解。(原理请参考这篇文章

接下来,我们可以通过这个神奇的公式(我并不懂为啥可以这样推)来把这两个式子整合起来:

$x \equiv p_0*k_0 + a_0 (lcm(p_0,p_1)) $

.

酱紫,我们就可以一步步把这个方程组浓缩成一个式子啦φ(>ω<*)


例题:

转载于:https://www.cnblogs.com/GoldenPotato/p/10270017.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值