初中数学竞赛 · 整除、同余与不定方程
费马小定理:降次的第一把刀
只要模数是素数,指数就可以按 p−1 取余。这一条把“大指数求余”从找规律变成了套公式。
定理
设 是素数, 是整数且 ,则
等价形式:对任意整数 ,。第二种形式不要求 ,因为 时两边都 。
它解决什么问题
指数太大算不动。有了它,指数就可以对 取余, 次方瞬间降到几十次方。
为什么成立
用剩余系。取 ,它们构成模 的简化剩余系。全部乘 ,得到 ,因为 ,这也是一组简化剩余系。
两个集合的乘积同余:
即 。 与 互素,可以约掉,得 。
用法:先看模数是不是素数
模数是素数,直接用;模数是合数,用欧拉定理(指数对 取余);模数含有多个素因子,拆成几个同余式分别算,再合并(中国剩余定理)。
例题
例1 直接降次
求 除以 的余数。
解: 是素数,,故 。
,所以 。
例2 模数不是素数
求 除以 的余数。
解: 不是素数,用欧拉定理:,。
,故 ,个位数字是 。
例3 证明整除
证明:对任意整数 , 能被 整除。
解:由费马小定理的第二种形式,,所以 。
推广:对任意素数 , 都能被 整除。这条结论在竞赛里几乎年年出现。
例4 求逆元
求 在模 下的逆元。
解:,故 。直接算太麻烦,改用扩展欧几里得或试乘:
,所以逆元是 。
例5 判定合数
证明 是合数(尽管它满足 )。
解:,直接看出是合数。
顺便说一句: 叫“伪素数”,它满足费马小定理的形式却不是素数。所以费马小定理只能用来否定素数(若不满足,一定不是素数),不能用来肯定。这一点在竞赛里经常设陷阱。
三个坑
- 模数不是素数还用 : 只对素数模成立,合数要用 。
- 指数取余后忘了还原: 只在 的前提下成立,指数为 时应取 而不是 。
- 用费马小定理证明素数:只能反用——不满足则不是素数;满足不代表是素数( 是反例)。
练习(先做,再看答案)
- 求 除以 的余数。
- 求 除以 的余数。
- 证明 能被 整除。
- 求 在模 下的逆元。
- 判断 是否为素数,并说明理由。
看答案
1. ,,。
2. ,,故余 。
3. 由费马小定理 ,故差被 整除。
4. ,逆元是 。
5. ,是合数(它是最小的卡迈克尔数,对任意与它互素的 都满足 ,所以费马小定理也拦不住它)。
一页速记
- 素数模:();(任意 )
- 大指数:先对 取余
- 合数模:改用欧拉定理,指数对 取余
- 只能反用:不满足 ⇒ 不是素数;满足 ≠ 是素数
- 逆元