当前课程知识点:组合数学 > 容斥原理和鸽巢原理 > 看得见摸得着的鸽巢 > 中国剩余定理
刚才我们介绍了构造的方法
但是大家会不会有疑问呢
这样的同余式在任何情况都有解吗
实际上我们就是通过鸽巢原理
证明了一个非常有名的定理
就可以保证这样的同余式
是永远有解的
而这个定理就被称为是
中国剩余定理
所谓中国剩余定理它指的是说
对应于m和n
是两个互质的正整数
对应任意非负整数a和b
其中a是小于m的
b是小于n的
则必然存在正整数x
使得联立的同余方程组有公解
那么刚才我们用的实际上是除以3
除以5 除以7
这样的一个同余的方程组
现在我们为了证明我们仅用
两个式子来表达
也就是x等于pm加a
x除以m余a
x除以n余b
其中p和q是非负整数
那意味着中国剩余定理保证了
像韩信那样每次分别不同的数目
进行排队之后
通过最后的余数
就可以算出一个x来
保证必然同余方程组是有解的
那么我们怎么证明呢
我们可以分析一下
首先我们先看第一个式子
假设第一个式子我可以找到
对应的n个可行的解
考虑n个整数
这n个整数分别是a m加a 2m加a
一直到n减1m加a
这一共n个数字
那这个数字都具有同样的特性
也就是每个数都是除以m余a的
满足第一个式子
这里面一共有n个数字
那么它如果除以n的话
如果能够最后找到对应的余数是b
那必然我们就可以找到x了
而考虑一共有n个整数
对应于它中间要去除n的话
一共有多少种不同的余数呢
它的余数个数是不是
就应该是n个呢
那意味着只要它们对应的
所有的余数都不相同的话
必然就可以找到任意一个b
如果反之的话
如果有相同的余数
那意味着有可能有某一个b
我就找不到了
因此我们从这个思路出发
希望能够证明对应的这些数字
它们最后去除n得到的余数
是不同的
我们可以说先用反证法
假如说我们认为确实有相同的余数
那这个时候我们就可以假设im加a
和jm加a除以n
它余数是相同的
其中i小于等于j
而它们落在0到n减1之间
它们如果余数相同
就意味着im加a等于qin加r
而jm加a等于qjn加r
那么这个式子我们进行一相减
就可以得到j减去i乘以m
等于qj减去qin
这两个式子相当于两个整数相乘
等于另外两个整数相乘
那意味着n应该是左边j减去i
乘以m的因子
会是这样吗
我们会发现
我们条件里要求m和n是
两个互质的正整数
因此n不可能是m的因子
而同时我们看一下
j和i之间什么关系
j和i是在0到n减1之间
而且j是大于i的
那意味着这个数字应该是小于n的
那n怎么可能是它的因子呢
所以我们会发现n与m是互质的
因此它们不可能n是m的因子
而同时ij又在0到n之间
因此n不可能j减m的因子
因此这个式子是不可能成立的
这个式子不可能成立
意味着我们的假设
所有相同的余数是不成立的
我们的结论就是说
对应于我们构造出这n个整数
拿这n个数字除以n的余数
不存在相同的余数
而它们一共的余数个数是从0
一直到n减1
一共n个
因此无论出来任何一个b
只要b在0到n减1的范围内
都可以存在某个数字是满足x等于qn加b的
这就意味着我们证明了对于两个式子
组成的同余方程组是有公解的
如果把它进一步推广一下
所谓的中国剩余定理实际上是说
假设m1 m2一直到mk
是两两互素的正整数
也就是它们相对的公因子等于1
i不等于j
ij是从1一直到k
则我们构造一个同余方程组
x等于b1 mod m1
x2除以m2
x等于b2 mod m2
一直累
推过去一直到x是bk mod mk
这时候对于这样一个
同余方程组的话
我们能够通过中国剩余定理
保证它们模m1m2到mk有解
也就是意味着m1 m2一直到mk
的意义下存在x
满足x和bm mod m1m2
一直到mk同余是有对应的通解x的
-什么是组合数学
--什么是组合数学
--讨论题
-最精巧的排列——幻方
--幻方
-漫谈组合数学--最精巧的排列——幻方
-苦难的羊皮纸卷
--羊皮纸卷
-苦难的羊皮纸卷--作业
-你的手机密码安全吗
-漫谈组合数学--你的手机密码安全吗
-暴力枚举和抽象转换
--世界杯引出的问题
--世界杯引出的问题--练习
--一一对应
--七桥问题
--小结
--讨论题
-大家谈组合数学(1)
--采访武永卫老师
-第一周作业
--作业说明
--H
--U
--G
--作业讨论区说明
-第一周演示程序
--程序讨论区说明
--幻方生成器
--换方计数
--屏幕解锁方案数
--欧拉路计数
--共享程序
-加减乘除来计数
--计数的基本法则
-排列还是组合
--排列还是组合
--小乒乓球的组合之旅--排列还是组合
-各种各样的排列
--圆排列和项链排列
--圆排列和项链排列--习题
--多重排列
--多重排列--练习
-多样的组合
--可重组合
--不相邻组合
--小乒乓球的组合之旅--多样的组合
-钟声里的全排列
--钟声里的全排列
--钟声里的全排列
--字典序法
--SJT算法
-第二周作业
--H
--U
--G
--思考题
--公式测试
--作业讨论区说明
-第二周演示程序
--程序讨论区说明
--全排列生成
--组合生成器
--共享程序
-参考资料:Stirling估计式
-母函数是函数的母亲吗
--母函数的定义(1)--练习
--母函数的定义(2)--练习
-母函数的简单应用
--初识母函数--母函数的简单应用
-整数拆分
--整数拆分(1)
--整数拆分(2)
-Ferrers图像
--Ferrers图像--作业
-母函数与递推关系
--母函数能做什么
--偶数个5怎样算
--母函数小结
-大家谈组合数学(2)
-第三周作业
--H
--U
--G
--思考题
--作业讨论区说明
-第三周演示程序
--程序讨论区说明
--整数拆分
--汉诺塔
--共享程序说明
-Fibonacci数列
--线性常系数递推关系--Fibonacci数列
-Fibonacci数列的应用
--桌布魔术
--桌布魔术--练习
--艾略特波浪曲线
-线性常系数齐次递推关系
--定义
--特征多项式
--线性常系数递推关系--线性常系数齐次递推关系
-说“数”解题
-第四周作业
--H
--U
--G
--GT思考题
--作业讨论区说明
-第四周演示程序
--程序讨论区说明
--程序共享说明
-爆笑花絮
--爆笑花絮
-参考资料:K线分析中的Fibonacci 相关理论
-Catalan数
--计算机界的精灵
--神奇的序列--Catalan数
-指数型母函数
--指数型母函数
--神奇的序列--指数型母函数
-错排
--错排1
--错排2
--神奇的序列--错排
-Stirling数
--神奇的序列--Stirling数
-母函数小结
--母函数小结
-大家谈组合数学(3)
-第五周作业
--H
--U
--G
--思考题
--作业讨论区说明
-第五周演示程序
--讨论区说明
--Catalan数
--程序共享
-且容且斥
--容斥原理
--容斥原理的证明
--容斥原理和鸽巢原理--且容且斥
-容斥原理的精妙
-回忆过去,容斥新解
--容斥原理和鸽巢原理--回忆过去,容斥新解
-鸽子抢巢
--鸽巢原理
--鸽巢原理--练习
--鸽巢原理的应用(1)--练习
-看得见摸得着的鸽巢
--韩信点兵
--中国剩余定理
--容斥原理和鸽巢原理--看得见摸得着的鸽巢
-6人行和Ramsey数
--6人行
--Ramsey数
--小结
-第六周作业
--H
--U
--G
--GT
--作业讨论区说明
-第六周演示程序
--讨论区说明
--程序共享说明
-可以转的世界
--可以转的世界
--可以转的世界--练习
--伽罗华与群
--群的定义
--群的定义--练习
--群的一些概念
-置换群
--置换群
--群--置换群
--共轭类
--对换
--对换--练习
--置换群的应用
-Burnside引理
--着色问题的等价类
--Burnside引理--作业
-闲话群
-第七周作业
--H
--U
--G
--作业讨论区说明
-Burnside引理的困境
-从Burnside到Polya
--Polya定理
-立方体旋转
--立方体旋转(1)
--立方体旋转(2)
--立方体旋转--作业
--立方体旋转(3)
--立方体旋转--作业
--立方体旋转(4)
-母函数型Polya定理
--Polya定理--母函数型Polya定理
-图的计数
--图的计数
-总结
--本章小结
-第八周作业
--H
--U
--G
--GT
--作业讨论区说明
-大家谈组合数学(4)
--采访黄连生老师
-组合之美
--组合之美之计数
-组合之美之线性常系数递推关系
-组合之美之多样的序列
-组合之美之鸽巢原理
-组合之美之转动群与染色
-采访邹欣
--采访邹欣1
--采访邹欣2
-知识点串串烧
--知识点串串烧
-期末测验--期末测验