当两个整数 a 与 b 关于整数 m 的取余运算结果相同,我们称为 a 关于模 m 与 b 同余,记作
a≡b(modm)⇔amodm=bmodm.
定理 1:a≡b(modm)⇔m|(a−b)
证明:假设 a=k1m+r1 与 b=k2m+r2, 那么 a−b=(k1−k2)m+(r1−r2),当 a≡b(modm) 时,有 r1=r2,所以 a−b=(k1−k2)m 必定可以被 m 整除。反向证明同理。
定理 2:a≡b(modm)⇔a=b+km
证明:假设 a=k1m+r1 与 b=k2m+r2,已知 a≡b(modm),则 r1=r2,有 a=k1m+r1=(k2+k)m+r2=(k2m+r2)+km=b+km。反向证明同理。
同余数具有以下性质
- 自反性:a≡a(modm);
- 对称性:a≡b(modm)⇒b≡a(modm);
- 传递性:a≡b(modm)∧b≡c(modm)⇒a≡c(modm);
- 同加性:a≡b(modm)⇒a+c≡b+c(modm),a≡b(modm)∧c≡d(modm)⇒a+c≡b+d(modm);
- 同乘性:a≡b(modm)⇒ac≡bc(modm),a≡b(modm)∧c≡d(modm)⇒ac≡bd(modm);
- 同幂性:a≡b(modm)⇒an≡bn(modm)
- amodp=amodq=x∧gcd(p,q)=1⇒a(modpq)。
中国剩余定理
对于一元线性同余方程组
⎧⎪
⎪
⎪
⎪⎨⎪
⎪
⎪
⎪⎩x≡a1(modp1)x≡a2(modp2)⋯x≡an(modpn)
一般性的求解过程是
- 求所有模数的积 p=p1⋅p2⋯pn;
- 对于第 i 个方程:
- 计算 mi=ppi;
- 计算 mi 在模 pi 下的逆元 m−1i;
- 计算 ci=mim−1i。
- 方程组在模 p 意义下的唯一解为 x=∑ki=1aici。
例题:有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?
⎧⎪⎨⎪⎩x≡2(mod3)x≡3(mod5)x≡2(mod7)
首先,我们计算模数的积为 p=3×5×7=105。然后,我们求解方程
⎧⎪⎨⎪⎩x≡1(mod3)x≡0(mod5)x≡0(mod7)
由上述方程我们知道, 5∣x∧7∣x⇒35∣x,显然,x1=70 是最小正整数解。同理,我们求得 x2=21,x3=15 分别为方程 ⎧⎪⎨⎪⎩x≡0(mod3)x≡1(mod5)x≡0(mod7) 与 ⎧⎪⎨⎪⎩x≡0(mod3)x≡0(mod5)x≡1(mod7) 的最小正整数解。最后,我们得到 x=70a1+21a2+15a3(mod105) 为方程的通解,将 a1=2,a2=3,a3=2 代入后得到方程的解 x=70×2+21×3+15×2(mod105)=23。
本文作者:cnblogs_wb
本文链接:https://www.cnblogs.com/wenbinteng/p/18734010
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下