ACM数论学习(复习)笔记-1

部分摘自oiwiki
linke

整除的基本性质

  1. 符号等价性
    \(a \mid b \ \Leftrightarrow \ -a \mid b \ \Leftrightarrow \ a \mid -b \ \Leftrightarrow \ |a| \mid |b|\)

  2. 传递性
    \(a \mid b \ \land \ b \mid c \ \implies \ a \mid c\)

  3. 线性组合性质
    \(a \mid b \ \land \ a \mid c \ \Leftrightarrow \ \forall x, y \in \mathbb{Z}, \ a \mid (xb + yc)\)

  4. 互整除对称性
    \(a \mid b \ \land \ b \mid a \ \implies \ b = \pm a\)

  5. 倍数缩放性(设 \(m \neq 0\)
    \(a \mid b \ \Leftrightarrow \ ma \mid mb\)

  6. 非零约束性(设 \(b \neq 0\)
    \(a \mid b \ \implies \ |a| \leq |b|\)

  7. 带余除法关联性(设 \(a \neq 0\),且 \(b = qa + c\)
    \(a \mid b \ \Leftrightarrow \ a \mid c\)

一、整除:数学里的“完美分蛋糕”

什么是整除?
假设你有一块蛋糕(比如数字12),如果能把它切成若干块一样大的小份,且没有剩余,就说这个分法“整除”了蛋糕。
比如:

  • 3整除12,因为12 ÷ 3 = 4(切成4块,每块3)
  • 5不整除12,因为12 ÷ 5 = 2.4(切不干净,还剩0.4块)

关键性质

  1. 传递性:如果3能整除6,6能整除12,那3一定能整除12。就像“小盒子装进中盒子,中盒子装进大盒子”。
  2. 组合性:如果5能整除10和15,那5也能整除它们的任意组合,比如 (10×2 + 15×3 = 65),而5当然能整除65!

二、最大公约数(GCD):找“共同好友”

什么是GCD?
比如你有两个数24和36,它们的“公约数”是能同时整除它们的数(比如2, 3, 6, 12)。而最大的那个共同约数,就是它们的GCD——这里是12。
为什么重要?
想象你要把24颗糖和36块饼干平均分给一群小朋友,最多能分给多少孩子,且每人拿到整数颗糖和饼干?答案就是GCD(24,36)=12,分给12个孩子,每人2颗糖+3块饼干。


三、欧几里得算法(GCD算法):用减法拆解问题

最笨的方法:先列出24和36的所有约数,再找最大的。但数大了会累死人!
欧几里得的聪明办法:用“除法余数”层层简化问题。
操作步骤(以48和18为例):

  1. 用大的数除以小的数:48 ÷ 18 = 2 余12
  2. 现在问题变成找 GCD(18, 12)
  3. 重复:18 ÷ 12 = 1 余6 → GCD(12,6)
  4. 最后:12 ÷ 6 = 2 余0 → GCD(6,0)=6

为什么可以这么做?
关键思想:如果某个数d能同时整除a和b,那它一定能整除a除以b的余数。就像“能同时装进大箱和小箱的盒子,一定能装进大箱减去小箱后剩下的空间”。


四、贝祖定理:原来方程可以这样解!

贝祖定理:对于任何整数a和b,一定存在整数x和y,使得 (ax + by = \gcd(a,b))。
举个例子
比如a=48,b=18,它们的GCD是6。那么存在x和y,使得48x + 18y = 6。
实际解:x=-1,y=3(因为48×(-1) + 18×3 = -48 + 54 = 6)。
这个定理多有用?
比如在密码学中,RSA算法生成密钥时就需要用这个方程来找模逆元。


五、扩展欧几里得算法(ExGCD):反向追踪答案

目标:不光算GCD,还要找到贝祖定理中的x和y。
操作步骤(以48和18为例,用“倒推法”讲故事):

  1. 先按欧几里得算法走到底

    • 48 = 18×2 + 12
    • 18 = 12×1 + 6
    • 12 = 6×2 + 0 → GCD=6
  2. 从最后一步倒着推x和y

    • 最后一步:6 = 18 - 12×1
    • 倒数第二步:12 = 48 - 18×2 → 把12代入上式:
      [
      6 = 18 - (48 - 18×2)×1 = 18×3 - 48×1
      ]
    • 所以x=-1,y=3(因为等式是48×(-1) + 18×3 =6)

ExGCD的递归思路
每次递归时,把当前余数用上一步的式子表示,逐步回溯拼出x和y。就像玩拼图,从最后一块倒着拼回去。

posted @ 2025-04-14 20:45  archer2333  阅读(34)  评论(0)    收藏  举报