整除、公约数、同余与剩余系
从本文开始,我们将正式开始介绍有关初等数论的相关知识与概念,我们争取用通俗的语言去把握和描述理论的精髓所在。而不拘泥于具体概念的束缚,以窥探初等数论巧妙的一些思想方法。从这里开始你的行囊里不需要太多的东西,只要会整数的加减乘除即可。东西多了不仅帮不了你,反而会成为前进的负担。你需要首先抛开一切固有思维,清空大脑,带着孩童般的好奇心重新认识这个世界。由于数论经常出现于奥数和智力题中,它往往被当成一种锻炼思维的智力游戏,但随着研究的深入,我们需要建立一套理论才能看清本质。我们可以从最简单的定义出发,利用理性思维建立这些理论。但通过做题与不断地思考是学习数论的必经途径,这样才能有更深刻的理解,这一部分笔者不能代劳,这里只能力图尽力而为,将其中的思想和方法展现在各位面前。
1. 整除
数论研究整数本身(或自然数,语境自明),初等数论主要研究整数之间的关系。整数的运算中,加减是最平凡的,得不出什么深入的结论,从而乘除法是唯一可以着手的地方。考虑一个简单的等式 ma=b(以后若不作特殊说明,所有符号表示整数),任何两个整数之间都可以有像 m,a 这样的乘法运算,但却并不是所有整数都有等式中类似a与b这样的关系。为此,当 a≠0 时,定义满足等式的 a 能整除 b,或b被a整除,a称为b的约数,b称为a的倍数,记作a∣b,否则记为a∤b。
仅从定义出发可以得到整除的许多基本性质,这里就不一一列举了,只给出一个最具代表性的:式子(1),即 a 的倍数的线性组合仍是 a 的倍数。整数集线性组合的这一性质体现了元素之间的共性,后面还会继续深究,这里先举一例来感受其意义。若a∣n,b∣n,则有 ab∣nb,ab∣na,进而有 ab∣n(ax+by),所以如果有 ax+by=1,则有 ab∣n。
考虑n的所有倍数的集合 kn,它的元素有无穷多个,且性质是平凡的,不多阐述。现在来考虑 n 的所有约数,显然它们是有限的,但我们似乎还得不出更多的结论。不妨先考察一类特殊的数:如果 p>1 除了±1和±p外没有其它约数,p称为质数或素数,反之叫合数,今后我们会约定俗成地用 p, q 表示素数。直观上素数是不能再分解的数,它们是整数的基本因子,任何整数都可以通过有限步分解为素数的乘积。
一个自然的问题是,这样的分解唯一吗?你固有的知识可能使你对这个问题相当地自信,但如果冷静思考地一番,就会发现这种自信其实是没有根据的。它的证明并不十分显然,这里通过反证法来推导。假设有某些 整数的素数分解不唯一,则存在最小的这样的数,并设它有两个分解式a=p1p2⋯pn=q1q2⋯qm,其中m,n>1,并且素数按大小排列。由a的最小性知pi≠qj,假设p1>q1,考察式(2)。容易证明后一分解式中不含q1,从而b<a有两个不同的分解式。这与a的最小性矛盾,故所有整数都存在唯一的的素数分解式,即表达式(3)唯一,此方法被叫做无穷递降法。这个证明最早由高斯给出,被称为算术基本定理,它使得整数可以被完全解析。
现在来看数a的所有约数,容易知道它们的分解式必定是式子(4)。若记a共有个约数,且它们的和为,则有公式(5)(6)。
这里可以尝试来思考如下几个问题:
• 求满足 的最小整数;
• 求的值。
2. 公约数
有了算术基本定理,整数之间的倍数关系就基本清楚了。而对于两个任意的整数(不一定有倍数关系),只能通过它们共同的约数或倍数来取得联系。两个数a,b共同的约数称为它们的公约数,最大的那个叫最大公约数,记作(a,b),类似还有公倍数和最小公倍数 [a,b]的概念,最大公约数为1的两个数称为互素或既约的。这些概念都有一些比较简单的性质,可以通过算术基本定理去证明,后面会罗列。公约(倍)数为研究整数之间的关系提供了便利,但它们的定义并不依赖于算术基本定理,你完全可以仅从定义出发得到那些常用结论,算术基本定理只是提供了一种方法而已。
公约数一定程度上体现了整数之间的相关程度,互素则表现了整数之间的无关性。这个观念为我们分析整数集的结构提供了一个好的思想,不大于m的所有数可以按照和m的相关程度分类,这个话题我们会在后面展开。现在来考虑一下与 m 无关的(互素)数的个数 <font color=red>φ(m)(欧拉函数),对素数 p 显然有 和 ,利用容斥原理排除掉不互素的数之后可以得到公式(7)。
关于这个计算式的证明可参见:欧拉函数的计算式
算术基本定理虽然很强大,但用它来求公约数或进行整数关系分析的代价太大,并且也很难得到进一步的结论,这时必须引入别的工具。在不做素数分解的情况下,分析整数关系最直观的方法就是带余除法,对任意整数 a≠0, b,存在唯一数对 m, r 满足式子(8)。由 知 a,b 的公约数必定是 r 的约数,并且 r 更小。如果继续对 a, r 做这样的运算,我们一定可以得到a,b的最大公约数。这便是辗转相除法的基本思想,早在欧几里得的《几何原本》中就有记载(故又称Euclid算法),熟悉算法的你一定也不陌生,这里就不展开细节了。
带余除法为整数的分析提供了一个简单有效的方法。比如我们再回头考虑一下式(1)中的所有线性组合,首先(b1,b2,⋯,bn)显然也是每个线性组合的约数。考察线性组合中的最小正数 c,如果它不是 bk 的约数,使用带余除法 也是线性组合但却更小。所以c是b1,b2,⋯,bn的公约数,结合刚才的结论可知c=(b1,b2,⋯,bn)。
最大公约数可以看做是整数间的一个基本代数运算,我们已经看到有很多不同的途径来得到它,而这些途径并不依赖于最大公约数的定义。这就让我们想到,其实可以将它们看成是最大公约数的等价定义,在不同的场合灵活使用,可以得到更简洁的方法。以下便列举了这些等价定义,你可以尝试证明它们的等价性。
(1)原始定义:最大的公约数;
(2)约数的公倍数:是所有公约数的最小公倍数;
(3)素数基本定理:素数分解式的公共部分;
(4)线性组合:线性组合的最小正数;
(5)辗转相除法:辗转相除法得到的最小正数。
作为一个基本运算,需要稍微研究一下最大公约数的基本性质,你可以尝试通过不同途径证明下面的基本性质:
(1)
(2)
(3)若,则有
(4)若则
(5)若则
(6)
公约数虽然定义简单,但却变化多端,当和其它知识结合起来时,问题会变得很困难。你需要熟练掌握初等数学中各种变形技巧,并需要足够的想象力和创造力。必要的练习是最好的锻炼场所,你不能绕过那一步,如下只列几例供参考。
• 已知求证
• a为奇数,则必有使得设这样数最小为,则成立的充要条件是
• 证明梅森(Mersenne)数 两两互素;
• 求证 不是整数;(提示:构造一个整数与之相乘后不为整数)
• 若(a,b)=1,则对任意 中有无数个与m互质的数。(提示:无穷递降)
3、关于素数分布
话说素数的确非常重要,后面我们还会看到它更多的性质,这里再多说两句。首先,欧几里得在《几何原本》回答了素数的个数问题,假设仅有有限个素数 ,考察表达式 。它不以任何 为约数,从而它也是素数,与假设矛盾,这就证明了素数有无穷多个。该证明使用了构造法和反证法,它的美妙是数学史上惊艳的一笔,你不妨可以用同样的方法解决以下问题。
• 相邻素数之间的间隔可以有任意大;
• 证明费马数 的素因子互不相同,从而素数有无穷多个;
• 使用数列 ,证明素数有无穷多个;
• 求证形如 的素数有无穷多个;
• 如果 则n必为素数。
根据算术基本原理,并使用级数理论,容易有以下著名的欧拉公式(式子(9))。这个神奇的公式将调和级数与所有素数扯上了关系,这也成为了研究素数的一个突破口,巍峨耸立的黎曼猜想就是对它的扩展研究。顺便提一句,因为调和级数是发散的,故由此此也可以证明素数有无穷多个。
关于素数,还有一些自然的问题是:如何判定一个数是否为素数?如何找出一定范围内的所有素数?它们的分布是怎样的?是否有素数的通项公式?这些问题是很难回答的,它们也是数论的难点,很多问题都还没有被解决。古希腊时期的Eratosthenes筛法是目前仍在使用的筛选素数的方法,它逐步划去每个素数的倍数,从而仅余下素数,这在一般的算法教材里都有介绍。另外一般用 π(x) 表示不大于x的素数的个数,公式(10)是就是著名的素数定理,它表明了素数的平均密度。该定理最早由勒让德和高斯作为猜想提出,将近一百年后才被人用复变函数的理论所证明,再过了50年才有了初等证法。关于素数的问题我们就不深究了,它们也不是这里能回答得了的。
4、同余
公约数是我们要讨论的主要整数关系,对整数m而言,其它整数与它的关系以 m 为周期出现着重复,具体讲就是任何整数和带余除法中的余数是等价的。为此我们可以在整数中建立另一种等价关系,如果 即 ,则称 a, b 在模 m 下<font color=red>同余</font> 或 a 同余于 b 模 m, b 是 a 对模 m 的剩余,记做 ,该关系式称为模 m 的同余式。比较容易证明同余关系是一个等价关系,它将整数限定在一个有限的空间里,大大方便了讨论。<font color=purple>同余理论由高斯提出,它是数论的基础语言</font>。由于同余继承自整除的概念,它的性质一般还是用整除来证明,但作为一个强大的语言,它有着自己简洁清晰的特点。以下是一些同余的基础性质,各位可以自行证明或者查看网络资料,这些都是较常用的基本性质(重要):
(1)若,则有 和;
(2)若,则;
(3) 等价于
(4)若 ,则 ;
(5) 等价于 。
性质(1)比较平凡,(2)(3)是对操作数进行缩放时的性质,(3)中包含了两种极端情况 d∣m 和(d,m)=1 的性质。(4)(5)是对模数进行缩放时的性质,性质(5)可以将问题互相转化,把大模数分解为几个小模数,或者反过来将多个等式合并为一个。性质(2)中没有除法,那是因为“倒数”还没有被定义。当(a,m)=1时,使用线性组合的定义容易证明,一定存在d使得 , 称为a的逆。有了逆就可以两边同时“除以”一个数了,但需要注意逆仅对与模互素的数存在。
既然同余是个等价关系,那它的等价类就可以看做是一个整体,所有满足 的整数组成的集合称为一个剩余类,记作,模m的所有剩余类组成的集合记作 。当 (r,m)=1 时,即与 m 互素的数 r , 又称为既约剩余类,模m的所有既约剩余类的个数显然共有 φ(m) 个,φ(m) 又称为欧拉函数。在一个只有加减乘除的同余式里,任何数都可以等价地看成它的同余类,故以上性质对同余类也是成立的。同余类中同样可以定义逆,容易证明逆存在则必是唯一的,且有 。
下面有一个思考题,你可以尝试利用同余的性质来解决:
• 求 的末两位数。
5、剩余系
主要区分上面在同余理论下的剩余类与我们这里要讨论的剩余系。
虽然剩余类和它的元素是等价的,但元素本身更容易被直接讨论。于是从每个剩余类中取一个元素组成的集合称为一个完全剩余系,它的定义是:一组数 称为模 m 的完全剩余系,如果对任意的 a 有且仅有一个 是 a 对模 m 的剩余,即 a 同余于 模 m 。同时还应注意类似 称为模 m 的最小非负(完全)剩余系; 为绝对最小(完全)剩余系; 最大非正(完全)剩余系。
相应地还有既约剩余系的概念。定义是:一组数 称为模 m 的既约(互素)剩余系,如果,以及对任意的 a, (a, m)=1, 有且仅有一个 是 a 对模 m 的剩余,即 a 同余于 模 m 。剩余系的元素可以根据需求来选取,而且它们有以下基本性质(关于具体证明可参考推荐书籍) :
(1)若是一个完全剩余系,则对任何整数c,仍然是一个完全剩余系;
(2)若是一个完全(既约)剩余系,且,则仍然是一个完全(既约)剩余系。
性质(2)告诉我们,如果是n的既约剩余系,且,则也是既约剩余系。那它们的乘积应该是模n同余的,即式子(1),这样就得到了著名的欧拉定理(公式(2))。取n为素数 p 时,则又有了费马小定理(公式(3))。欧拉定理给出了一个求元素逆的方法,即。另外,欧拉定理还给出了既约剩余系的元素与“单位元”的关系,这里是我们首次讨论既约剩余系元素之间的关系,后面还会继续研究。
简单考虑一个的习题:
• 求m的 最小正既约剩余系的所有元素之和。
剩余系的提出,最终还是为了研究同余意义下的整数空间,在这里就是要弄清完全(既约)剩余系的结构。既然整数 m 可以进行素数分解,想必把模m的剩余系按其素数分解分割会是个不错的想法。具体来说,对于 m 的互质分解 ,我们想看到的是 m 的剩余系和 的剩余系之间的关系。
先从简单的看起,参考进制数的方法并考察,其中是 的完全剩余系,是 的完全剩余系。容易证明当遍历的完全剩余系,则遍历m的完全剩余系。使用归纳法可以将这个结论推广到 的情形,但由于其形式不对称,推广的结论并无太大理论价值。由于,可知将上式中的换成结论任然成立。
另外,当遍历的既约剩余系时,首先由刚才的结论, 两两不同余,其次也容易证明它们与 m 互素。综合起来我们就有结论:当 遍历的既约剩余系时, 正好遍历m的既约剩余系。使用对应的证明方法(两类剩余系方法不同),这个结论可以轻易地推广到的情景,甚至为每一项再乘上任意与 互素的数,结论任然成立。即当 两两互素,且有,则当遍历的完全(既约)剩余系时,表达式(4)和(5)都正好遍历 m 的完全(既约)剩余系。
表达式中的 就像 x 的坐标一样,剩余系被分解到了个互相独立的维度,各个维度可以被单独地研究。值得提醒的是,以上表达式的每一项其实刚好是 的剩余系,它们可以相加得到m的剩余系。有一个自然的问题是,有没有表示为乘法的表达式,同样满足这样的要求呢?结合前面结论,容易构造出公式(6)中的分解(的意义同上),它的每一项是 的剩余系,各项相乘后是m的剩余系。有趣的是,表达式中各项之和任然遍历完全剩余系,而这对既约剩余系是不成立的(见下面练习)。
尝试解决以下问题:
• 求13的一个完全剩余系,满足和;
• 若 是m的既约剩余系,则对任何满足的整数,都不可能是既约剩余系。
• 不可能有 的既约剩余系 ,使得和都是m的既约剩余系;
以上分解方法从另一方面给出了欧拉函数的性质:如果,则。利用这个性质可以得到公式(7),另外,这个公式还可以这样解释:将 按照与n的最大公约数d划分为不同的集合,容易知道每个集合有个元素,所以共有个元素,这样就得到公式(8)。换句话说,一个完全剩余系被划分成了若干个既约剩余系,不得不说是一个很新颖的划分方法。
剩余系分解的一个典型应用就是解一次同余方程组,下篇我们会专门研究同余方程,这里只介绍这类方程组(式子(9)的左侧)。当两两互素时,根据前面的分解定理可知,在模下方程有且仅有一解。该结论历史上称为孙子定理(又称中国剩余定理),因为《孙子算经》中“物不知数”的问题其实就是一次同余方程组。
以上定理限定两两互素,且x系数为1,对于不满足条件的方程组,可以通过前面的结论进行等价变换。其中 意义同上, 是对模的逆。即 。关于中国剩余定理其实还有很多中方法求解,更多解法,可参见,中国剩余定理的五种解法
你可以尝试如下练习:
• 求解“物不知数”问题:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?
• 求的7一个完全剩余系,每个数模2,3,5的余数都是1;
• 解方程;
• 解方程组
虽然我们还没有完全弄清既约剩余系的结构,但还是可以再做一些有趣的讨论的。既约剩余系中的任何数都有逆,尝试将它们两两配对,所有这样的数的乘积为 1,如果再将那些逆为自身的数单独研究,也许可以得到既约剩余系的整体性质。先从模 p 看起,对逆为自身的数有 ,从而,满足条件的只有两个数 ±1。这样便有了著名的威尔逊(Wilson)定理(公式(10)),它给出了既约剩余系积的整体性质。
以上讨论过程对奇素数的幂仍然成立,对独立讨论也可知模为 1,2,4 时结果为 −1,其它模的结果为 1。对一般的模,考虑公式(6)表示的既约剩余系的积,因为除了外都有,故除了模为外都有。总结以上可以有威尔逊定理的扩展定理:模为(p为奇素数)的既约剩余系的乘积模m余为 −1,其它形式模的既约剩余数之积模m余为1。这个既约剩余系的整体性质在一些问题中很有作用,你可以尝试者解决以下问题:
• 若和是奇素数p的两个完全剩余系,证明一定不是完全剩余系。再证明该结论对任意模m也成立;
• 求证。
以上证明中的配对思想非常重要,请考虑以下问题:
• 求证存在的充要条件是,并由此证明格式为,的素数有无穷多个。