初中数学竞赛 · 整除、同余与不定方程
最大公因数与最小公倍数
求 gcd 不用分解质因数,用辗转相除更快。这一节讲清楚 gcd 为什么能这么算,以及 gcd 和 lcm 之间那条必须记住的关系。
定义与记号
不全为零,它们的所有公因数里最大的那个,叫最大公因数,记作 ,也写作 。
所有公倍数里最小的正数,叫最小公倍数,记作 ,也写作 。
时,说 互素。注意互素不要求两个数都是素数, 和 就互素。
辗转相除法
求 ,不用分解质因数:
最后一个非零余数是 ,所以 。
为什么可以这样
关键在于:。
因为 ,任何整除 和 的数必然整除 ;反过来,任何整除 和 的数必然整除 。所以两边的公因数集合完全相同,最大公因数自然相等。
这个等式让两个大数越除越小,几步就到底。手算两位数、三位数的 gcd,辗转相除比分解质因数快得多。
那条必须记住的关系
证明思路:把 分解成素数幂, 取每个素因子的最小指数, 取最大指数,两者相加正好等于 中该素因子指数之和。
所以知道 gcd 和其中一个数,就能反求 lcm,反之亦然。
例题
例1 辗转相除
求 。
解:
最后一个非零余数是 ,所以 。
例2 用乘积关系
已知 ,,求 。
解:。
例3 互素的性质
证明:若 ,且 ,则 。
解:由贝祖定理,存在整数 使 。两边乘 : 整除 (这一步直接由 得出),也整除 (因为 ),所以 整除它们的和 。
这条性质叫“互素可约”,它补上了“除法不能随便约”的那个缺口:能约的前提是互素。
例4 求所有解
求所有的正整数 ,使 且 。
解:设 ,,。则 ,。
互素且和为 的组合:、。( 不互素, 不互素)
所以 或 。
例5 三个数
求 与 。
解:分解:,,。
取最小指数:。
取最大指数:。
三个数不能再用 乘积,那条只对两个数成立。
三个坑
- 互素当成都是素数: 和 互素,但都不是素数。
- 三个数套两个数的公式:。
- 辗转相除最后一步搞错:答案是最后一个非零余数,不是 。
练习(先做,再看答案)
- 求 。
- 已知 ,,求 。
- 证明:。
- 求所有的正整数 ,使 且 。
- 证明:若 ,则 只能是 或 。
看答案
1. ,,,故 。
2. 。
3. 设 ,则 ,故 。
4. 设 ,,。互素组合 、,故 、。
5. 设 ,则 ,。因 ,,故 或 。
一页速记
- 用辗转相除:,答案是最后非零余数
- (只对两个数)
- 互素 ≠ 都是素数
- 且 ⇒
- 求“和为定值 + gcd 定值”:设出倍数,转成互素问题