数论03_最大公约数_gcd
2026-08-23 13:28:16
发布于:广东
03 最大公约数 gcd
学习目标
理解 、互质,以及“互质为什么决定逆元是否存在”。
1. 最大公约数
12 的因数有 ,18 的因数有 。
最大公共因数是 6,所以:
2. 什么叫互质
若 ,称 互质。
注意:互质不代表两个数都必须是素数。例如 。
3. 素数的一个重要性质
若 是素数,且 ,那么一定有:
因为 的正因数只有 1 和 ,而 。
4. 为什么 gcd 和逆元有关
后面会证明:
在模 下存在乘法逆元,当且仅当 。
因此求 gcd 其实是在判断“能不能做模意义下的除法”。
5. 基本性质
若 ,则 且 。
6. 暴力做法
int gcd_slow(int a, int b) {
for (int d = min(a, b); d >= 1; d--)
if (a % d == 0 && b % d == 0)
return d;
return 1;
}
下一节会学习更快的欧几里得算法。
7. 小练习
- 8 和 21 互质吗?
- 若 且 , 是多少?
答案
- 12
- 互质
- 1
这里空空如也



















有帮助,赞一个