同余的概念与基本性质
同余是把“除以 m 的余数”变成一套可以运算的语言。学会它,末尾数字、整除证明、大指数求余这一类题就从“找规律”变成了“做算术”。
从“余数相同”开始
整数除以 ,余数只有七种可能:。所有整数因此被分成七堆,同一堆里的数除以 余数相同。
既然同一堆里的数在“除以 ”这件事上没有区别,那就可以给“在同一堆”起个名字,直接拿来运算。这个名字就是同余。
设 是正整数。若整数 除以 的余数相同,就说 与 模 同余,记作
等价的说法: 能整除 ,即 。
三种说法是一回事,做题时按方便挑:验算用“余数相同”,证明用“”,变形用“”。
举几个例子:
第二条值得停一下。 除以 余 ,所以 。它说明同余里的数可以是负的,而 这个写法在后面的计算里极其好用,因为它让“接近整倍数”的数变得很短:。
为什么它能当运算用
同余最值钱的地方,是它和加、减、乘、乘方全都相容。这不是规定,是可以证明的。
设 ,,那么存在整数 使 ,。
加法:,所以 。
减法:,同理。
乘法:
后面那一坨是 的整数倍,所以 。
乘方:把乘法用 次,得 。
只要两个数同余,就可以在任何只含加减乘和乘方的式子里互相替换,替换之后同余关系保持。于是“求 除以 的余数”这种看似无从下手的问题,被拆成了“在模 的世界里做乘法”。
除法要小心
加法、减法、乘法都能随便用,除法不行。
在普通算术里 ,两边同时除以 还是相等。但在同余里,,两边除以 得 ,这就不对了。
原因在于同余的信息是“模 之后”的,除以一个数和 有公因数时,会把模也跟着改变。
正确的处理办法是乘逆元,不是除。若 ,存在整数 使 ,此时才能在两边乘 来“约掉” 。
例:解 。因为 ,所以 的逆元是 。两边乘 :。验证:,成立。
例题
例1 大指数求余:先找循环
求 除以 的余数。
思路:直接算 是不可能的。但在模 下, 的幂只有 种可能,一定会循环。先算几项看周期。
解:
出现 就意味着循环开始:,所以 。
余数是 。
关键动作:找到 的那个 。找到了,指数再大也只是做一次带余除法。
例2 连续整数乘积
求证:对任意整数 , 能被 整除。
思路一(因式分解):,是连续三个整数之积。三个连续整数里必有一个是 的倍数,也必有一个是偶数(其实是 的倍数,三个里至少一个还是 的倍数),所以乘积被 整除。
思路二(同余):把 按模 分成六类,逐一验证太笨。分两步更省:模 和模 分别验证。
模 : 时 ; 时 。 模 : 分别代入,。
两步都成立,说明 同时被 和 整除,故被 整除。
两种思路的差别:第一种靠结构(连续整数),第二种靠分类(模 、模 )。分类法虽然笨一点,但它是通用套路——模 的问题拆成模 的各个素因子幂,几乎总能奏效。
例3 末位数字
求 的个位数字。
思路:个位数字就是模 的余数。
解:
周期是 。,所以
个位数字是 。
这一类题的通用模板:算前几项 → 找到 → 指数带余除法 → 回到对应的那一项。个位、末两位、除以某个小质数的余数,全是同一个套路,只换了模。
例4 先找 1 的幂
求证: 能被 整除。
思路:题目给了模数 ,先看它和底数 有什么关系:,也就是 除以 余 。一旦某个幂同余于 ,高次幂就全部塌缩成 ,题目立刻变简单。
解:,所以 。
,,指数都是偶数,于是
相减得 ,即被 整除。
顺便说一句:这道题也能用提公因式做。。两条路都对,同余这条路更适合模数不规整的场合。做题时两条路都想到,才算真懂。
例5 同余方程
求满足 的所有整数 。
解: 在模 下的逆元是 (因为 )。两边乘 :
所以 ( 为任意整数)。
验证: 时 ; 时 。都对。
提醒:这里之所以能乘,是因为 。若方程是 ,两边不能除以 ,得先把式子化成 再处理——模也跟着变了。
- 负数余数直接写负数: 是对的,但答案是“余数”时要写成 。同余关系里可以用负号,答题时要还原。
- 随便约分:同余式两边除以一个与模不互素的数,结论会错。要先确认 。
- 模数混用:同一个式子里所有项必须对同一个 取模。中途换模数必须单独说明并重新论证。
- 求 除以 的余数。
- 求 的个位数字。
- 求证:对任意整数 , 能被 整除。
- 解同余方程 。
- 求证: 能被 整除。
看答案
1. ,,故 ,余数 。
2. ,周期 。,故余 ,个位是 。
3. 。模 、模 、模 分别验证:模 时 ;模 时由费马小定理 可推 ;模 时同样 。故被 整除。
4. ,逆元是 。,即 。
5. ,故被 整除。
- 三说法:余数相同 / /
- 加减乘、乘方全能替换;除法不行,要乘逆元(要求 )
- 大指数求余:先找 或 ,再对指数做带余除法
- 末位数字 = 模 ;末两位 = 模
- 证明整除:能分解就分解,不能分解就分模(拆成素因子幂分别验证)
- 见 、 这类数,先想 的幂