中国剩余定理 CRT

网上只说了CRT的证明过程,但我这样的蒟蒻全程只是跟着题解思路跑,但是没理解这个证明过程是怎么想到的,最近想了一下,这样CRT的推导就比较自然了
一般形式:

{x1a1modm1x2a2modm2...xnanmodmn

第一步:构造一个特殊解
为了简单,我们假设最终的解由满足对应方程的解的几个部分组成
y1 y2 ... yn 分别满足对应的方程组
一眼看穿法可得
那么为了保证加起来之后的模数不改变,yi 以外的部分对第 i 个方程组的贡献为 0
yj(ji)0(mod mi)
根据同余和整除的转化
所有的 yj 均为 mi 的倍数
这时候一个很明显的idea就来了:
ai 显然是第 i个方程组的一个解
为了让 ai 满足是其它模数的倍数
ai 乘以mj(ji)
但是这样又会出来一个问题:现在ai×mj不一定满足第 i个方程了
那么整出来一个逆元即可,
yi=ai×mj×mj1(mod mi)
最后的解就是所有的yi之和了

严谨证明见百度百科

第二步:构造一个通解,顺便证明这就是通解
充分性:存在解,则为这种形式
假设x1 x2均满足上述方程组
x1 x2在模上述数时同余,即在mi 整除x1x2
则根据同余定理5:
ab(modm), ab(modn)
ab(modlcm(m,n))
Mmi之乘积
由于任意模数互质,所以x1x2(modM)
所以x=kM+x0
必要性:若为这种形式,则为解
kM对每个方程组的贡献为0,必要性显然
推论:在(modM)意义下只有一个唯一解

作者:cdsidi

出处:https://www.cnblogs.com/cdsidi/p/15555242.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   CDsidi  阅读(72)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up light_mode palette
选择主题