线性同余方程组 欧拉定理 欧几里得算法 取模运算 同余
浅谈线性同余方程组
作者:高欣宇,肖志昊(排名不分先后)
摘要
古人有云:有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?
在本篇文章中,为了解决这个问题,我们会了解到最基本的模运算,并推导一些取模意义下的定理,最后解决此问题——求解线性同余方程组。
模运算
在了解线性同余方程组之前,我们需要有一些前置知识。例如“同余”代表此方程组在取模意义下成立,那么我们需要先了解模运算。
定义
我们令
非正式地,可以将模
定理1:在
证明:
若有一个
那么对于
因为
已知
同理,对于
定理2:在
证明:
根据上述两个定理可得,
定理3:
证明:
寻找
定理4:
证明:
同上,寻找
以上,定理3可以通过
所以,我们在对同一个模数
扩展——有理数取模
上述的模运算是在
具体地,对于有理数将其化成最简分数形式
其他规律
分配律:
结合律:
交换律:
欧几里得算法
这是一个如何求解最大公约数的方法。公式为:
当
证明:
我们需要明确以下几点。首先,我们知道
和 中一定包含他们的最大公约数 ,那么 也包含他们的最大公约数 吗?既然 和 都包含它们的最大公约数,那为什么公式不是 呢?
的约数一定含有 和 的最大公约数
首先,我们设
我们再把取余换做减法
公式
我们接下来讨论公式
首先我们将
那么公式变为
与 互质
反证法。首先我们有式子
将原式转化为
与 不一定互质
此时我们反过来看
如
裴蜀定理
再让我们来看看裴蜀定理是什么:
对于给定的两个数
证明
我们还是将
就可以看为
我们这就证明了裴蜀定理
欧拉函数
定义
在
特别地
当 n 是质数的时候,显然有
我们将
则:
公式推导:
利用容斥的思想,设
类似的,可以在
性质
更多的性质有兴趣的同学可以上网搜索了解一下。
同余
定义:若整数
同余类
定义:对于
剩余系
完全剩余系
定义:模
简化剩余系
定义:
性质:简化剩余系关于模
令
若
欧拉定理
定义
若
证明
设
通过这个结论,我们可以构造出集合
类似于简化剩余系中关于模
根据以上结论:集合
综上所述:
推出:
费马小定理
结论
若
另一个形式:对于任意整数
证明
费马小定理是欧拉定理的特殊情况,在
线性同余方程
定义
形如
线性同余方程组
定义——「物不知数」问题
在前面引入了线性同余方程后,我们开始讨论线性同余方程组。
线性同余方程组形式如下:
特殊的,其中
对于这个方程组,一千五百年前的中国古人有一个更为形象的问题。
「物不知数」问题:有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?
即求满足以下条件的整数:除以
余 ,除以 余 ,除以 余 。
我们要求解这个方程组,需要引入中国剩余定理 (Chinese Remainder Theorem, CRT)。
求解——中国剩余定理
我们先来介绍CRT的过程:
- 计算所有模数的积
; - 对于第
个方程:- 计算
; - 计算
在模 意义下的逆元 ; - 计算
(不要对 取模)。
- 计算
- 方程组在模
意义下的唯一解为:
证明:
因为有
模意义下的乘法逆元:如果一个线性同余方程
显然,因为
而对于
注意观察计算式为等号(且没有取模),证明式为同余符号。两数相等是两数同余的充分条件。
那么最后推导计算结果
其中,
应用
-
我们可以使用中国剩余定理直接进行线性同余方程方程组的式子,如“物不知数问题“
-
部分情况需要在取模意义下进行运算,但是模数非质数会影响逆元的计算,这时我们可以使用中国剩余定理对模数进行拆分,具体地,将模数分解质因数,如果模数由一些不重复的质数相乘得到,那么我们可以分别在这些模数的取模意义下进行运算,最后用中国剩余定理合并答案。
例:给定
, ,求解在
非质数的情况下,无法保证 , 都有逆元存在,上式无法直接计算。因为
,所以我们先求解出 分别在模 , , , 意义下的结果,记答案为 ,那么最终问题转换为求解下述线性同余方程组:对此我们就可以使用中国剩余定理进行求解了
扩展——模数不互质的情况
若
使用模运算的定义将线性同余方程组转化为不定方程:
根据裴蜀定理可得,当
对于线性同余方程组的同余方程用上面的方法两两合并即可求解出最终答案。
结语
在上文中我们讨论了线性同余方程组和其前置知识,学习了一个新的运算——模运算,并且在模运算的世界里得出了许多的推论,并且最终解决了中国古人留下的难题——“物不知数”问题。
那么我们就初步学习了线性同余方程组的相关知识,然而知识的海洋是广阔的,与线性同余方程组相关的很多知识因为篇幅原因,无法在这里尽数讲解,希望这篇文章能够引起大家对线性同余方程组的兴趣并继续深入学习,体会到模运算世界的奥妙!
参考文献
作者:高欣宇,肖志昊(排名不分先后)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】