跳到内容
返回探索
离散数学 / 英语

用欧几里得算法计算最大公因数

SoftwareEngenius · YouTube · 5:01

打开原视频
阅读与收藏

把讲解展开来看。

已审核学习内容 · 视频分析 · 中文
阅读完整概览

本课从正公约数、整除与同余出发讲解欧几里得算法,随后展示递归实现与调用次数的界。整数最大公约数的输入不全为零。对有序正整数 a≥b>0a\ge b>0,写成 a=bq+ra=bq+r 且 0≤r<b0\le r<b;恒等式 gcd⁡(a,b)=gcd⁡(b,r)\gcd(a,b)=\gcd(b,r) 保持答案。除数达到零时,返回前一个正除数。编辑笔记补全原片未单独展示的反向公约数论证,并修正复杂度幻灯片的零商旁注笔误。该 O(log⁡2(N))O(\log_2(N)) 界取 N=a+bN=a+b,计算的是单位成本算术模型下的取余调用次数,而非所有位运算的实际耗时。

在学习检查器中查看要点和时刻,或切换阅读标签查看完整笔记。

章节

0:00快速 GCD 简介0:07什么是 GCD?0:24暴力法方法0:31介绍欧几里得算法0:35三部分引理1:14同余性质的证明1:41gcd 事实的引理列表1:47.5证明 b∣a−cb\mid a-c 保持 gcd2:23.5过渡到欧几里得算法2:30.5第一步除法和 gcd 归约2:59.5第二步除法和持续归约3:22欧几里得算法推导4:01Java 实现4:17时间复杂度证明4:46结论

学习解说文稿

依据视频画面与讲解整理,并非逐字语音转写。

视频开场提出了一个实际问题:如何高效地计算两个大数(特别是 1071 和 462)的最大公约数 (GCD)。

在处理高效计算之前,先定义了基本概念。两个整数的 GCD 是能同时整除这两个数的最大正整数。像 gcd⁡(7,21)=7\gcd(7, 21) = 7 和 gcd⁡(24,30)=6\gcd(24, 30) = 6 这样的简单例子说明了这一点。gcd⁡(7,9)=1\gcd(7, 9) = 1 的情况也引入了“互质”一词,用于指代除了 1 以外没有共同约数的数字。

对于正整数输入,直接搜索会从较小的数向下测试候选数直到 1。在最坏情况下,整除测试的次数与该较小输入成线性增长;这种比较计算的是算术测试次数,而不是位级处理时间。

为了克服这种低效性,引入了欧几里得算法作为计算 GCD 的更优方法。

欧几里得算法的理论基础通过一个三部分引理呈现。首先,它建立了交换性质:gcd⁡(a,b)=gcd⁡(b,a)\gcd(a, b) = \gcd(b, a)。其次,它涵盖了一个数整除另一个数的平凡情况:如果 a>0a > 0 且 a∣ba \mid b,那么 gcd⁡(a,b)=a\gcd(a, b) = a。第三,也是对于算法递归性质最重要的一点,它将模算术与 GCD 联系起来:如果 a≡c(modb)a \equiv c \pmod b,那么 gcd⁡(a,b)=gcd⁡(c,b)\gcd(a, b) = \gcd(c, b)。

对于正模数 bb,关系 a≡c(modb)a\equiv c\pmod b 意味着 b∣(a−c)b\mid(a-c)。因此存在一个整数 yy 使得 by=a−cby=a-c。这些方程为随后的公约数论证奠定了基础。

板书列出最大公约数的基本性质。当前重点是第三项,其假设为 b∣a−cb\mid a-c。

由假设引入整数 yy,满足 by=a−cby=a-c,移项得到 c=a−byc=a-by。接着研究把 aa 替换为余数般的量 cc,能否保持与 bb 的最大公约数。

接下来取整数 dd,同时整除 aa 和 bb。口头讲解把此 dd 放在最大公约数语境中,而板书明确记录的假设仅为 d∣ad\mid a 和 d∣bd\mid b。

因为 dd 整除 aa 和 bb,视频论证 dd 也必须整除组合 a−bya-by。给出的口头理由是有效地使用了 bb 的倍数,这仍然被 dd 整除。

由于 c=a−byc=a-by,相同的陈述变为 d∣cd\mid c。此时,黑板已将 aa 和 bb 的任何公因子链接到 cc 的因子。

黑板得出结论 gcd⁡(a,b)=gcd⁡(b,c)\gcd(a,b)=\gcd(b,c)。编辑补充:bb 和 cc 的每个公因子都整除 a=c+bya=c+by,提供了相等所需的反向蕴含。因此,这两对有相同的正公因子。

这种不变性将整除论证转化为计算最大公约数的方法。

对于整数输入 a≥b>0a\ge b>0,使用带余除法写出 a=bq1+r1a=bq_1+r_1,其中 0≤r1<b0\le r_1<b。

将此除法步骤应用于归约引理得到 gcd⁡(a,b)=gcd⁡(b,r1)\gcd(a,b)=\gcd(b,r_1)。因此,原始对被替换为由除数和余数组成的较小对。

如果 r1>0r_1>0,再次除法:b=r1q2+r2b=r_1q_2+r_2,其中 0≤r2<r10\le r_2<r_1。然后 gcd⁡(b,r1)=gcd⁡(r1,r2)\gcd(b,r_1)=\gcd(r_1,r_2)。如果余数为零,则除法停止。

相同的归约随着严格递减的正整数余数重复。这种下降是有限的,随后的解释确定最后一个正因子为答案。

余数是非负整数。当出现零余数时,前一个正除数就是最大公约数。令 r0=br_0=b,也能涵盖第一次除法就整除的情形,此时答案为 bb。这给出了余数链的终止规则。

对不全为零的非负整数参数,递归函数在 b=0b=0 时返回 aa,否则调用 gcd⁡(b,a mod b)\gcd(b,a\bmod b),使用非负余数。原片展示有序正整数输入;任意带符号输入需要先规范为非负值,不能直接套用此代码。

对整数 a>b>0a>b>0,新余数至多为 a/2a/2。两次递归调用后,较大参数已经降到该余数,除非过程已经终止。因此,在单位成本算术模型下,取余调用次数为 O(log⁡2(a+b))O(\log_2(a+b))。这计算的是数值量级的缩减,并非位级运行时间。编辑修正:原幻灯片写零商会得到 k=bk=b,实际应为 k=ak=a;正确限制商后仍能得到相同的减半结论。

课程在递归实现与复杂度讨论后结束。

知识卡片

01

最大公因数

两个整数的最大公约数 (GCD) 是能同时整除这两个数且无余数的最大正整数。如果 GCD 为 1,则称这些数为互质。输入是整数且不全为零。

gcd⁡(a,b)\gcd(a, b)
02

暴力法的低效性

对于正整数输入,向下检查候选数直到 1 会在单位成本算术模型下给出与较小输入成线性关系的最坏情况整除测试次数。

03

欧几里得算法引理:第 1 & 2 部分

欧几里得算法依赖于 GCD 的关键性质。1) 交换律:输入的顺序无关紧要 (gcd⁡(a,b)=gcd⁡(b,a)\gcd(a,b) = \gcd(b,a))。2) 整除性:如果正数 aa 整除 bb,它们的 GCD 就是 aa。

gcd⁡(a,b)=gcd⁡(b,a);a>0, a∣b ⟹ gcd⁡(a,b)=a\gcd(a,b)=\gcd(b,a);\quad a>0,\ a\mid b\ \Longrightarrow\ \gcd(a,b)=a
04

欧几里得算法引理:第 3 部分 (模)

使欧几里得算法能够进行归约步骤的关键性质:如果两个数 aa 和 cc 除以 bb 留下相同的余数(即 a≡c(modb)a \equiv c \pmod b),那么它们与 bb 的 GCD 相等 (gcd⁡(a,b)=gcd⁡(c,b)\gcd(a,b) = \gcd(c,b))。这里模数 bb 是一个正整数。

a≡c(modb) ⟹ gcd⁡(a,b)=gcd⁡(c,b)a\equiv c\pmod b\ \Longrightarrow\ \gcd(a,b)=\gcd(c,b)
05

证明开始:同余蕴含整除

模性质的证明始于将同余关系转化为整除陈述。如果 a≡c(modb)a \equiv c \pmod b,根据定义,bb 整除差 (a−c)(a - c)。这意味着存在一个整数 yy 使得 a−c=bya - c = by。

a≡c(modb)  ⟹  b∣(a−c)  ⟹  ∃y∈Z,by=a−ca \equiv c \pmod b \implies b \mid (a - c) \implies \exists y \in \mathbb{Z}, by = a - c
06

算法前使用的三个 gcd 引理

片段以手写引理列表开始:(1) gcd⁡(a,b)=gcd⁡(b,a)\gcd(a,b)=\gcd(b,a);(2) 如果 a>0a>0 且 a∣ba\mid b,则 gcd⁡(a,b)=a\gcd(a,b)=a;(3) 用于证明欧几里得算法的归约事实。这些被呈现为该方法遵循的基本事实。

gcd⁡(a,b)=gcd⁡(b,a);a>0, a∣b⇒gcd⁡(a,b)=a\gcd(a,b)=\gcd(b,a);\quad a>0,\ a\mid b \Rightarrow \gcd(a,b)=a
07

归约引理:减去倍数保持 gcd

对于整数 a,ca,c 和正整数 bb,条件 b∣(a−c)b\mid(a-c) 保持最大公约数。原片展示正向蕴含;编辑补充利用 a=c+bya=c+by,说明 bb 和 cc 的公约数也整除 aa。

b∣a−c⇒gcd⁡(a,b)=gcd⁡(b,c)b\mid a-c \Rightarrow \gcd(a,b)=\gcd(b,c)
08

归约引理的证明骨架

由 c=a−byc=a-by 可知,a,ba,b 的公约数也整除 cc。编辑补充:b,cb,c 的公约数也整除 a=c+bya=c+by。两个方向共同保证正公约数集合相同。

by=a−c, c=a−by, d∣a, d∣b⇒d∣cby=a-c,\ c=a-by,\ d\mid a,\ d\mid b \Rightarrow d\mid c
09

作为重复 gcd 归约的欧几里得算法

对于正除数和非负余数,重复除法保持 GCD。仅当下一个余数为正时才除以它;算法在零时停止。

a=bq1+r1, r1<b⇒gcd⁡(a,b)=gcd⁡(b,r1)a=bq_1+r_1,\ r_1<b \Rightarrow \gcd(a,b)=\gcd(b,r_1)
10

为什么余数很重要

标准整数除法给出小于当前正除数的非负余数。它们的正值严格递减,因此迭代必须终止。

r1<b,r2<r1r_1<b,\quad r_2<r_1
11

欧几里得算法终止条件

对正整数输入对,非负余数递减直到零。前一个正除数是最大公约数;令 r0=br_0=b 以涵盖第一次除法即整除。

gcd⁡(a,b)=gcd⁡(b,a mod b)  ⟹  ⋯  ⟹  gcd⁡(rk−1,0)=rk−1\gcd(a,b) = \gcd(b, a \bmod b) \implies \dots \implies \gcd(r_{k-1}, 0) = r_{k-1}
12

递归实现逻辑

对不全为零的非负整数输入,第二个参数为零时返回第一个;否则对除数与非负余数继续递归。带符号输入需要先规范为非负值。

gcd⁡(a,b)={ab=0gcd⁡(b,a mod b)b>0\gcd(a,b)=\begin{cases}a&b=0\\\gcd(b,a\bmod b)&b>0\end{cases}
13

对数时间复杂度证明

对有序正整数输入,新余数至多为此前被除数的一半。因此,两次调用内较大参数至少减半,单位成本算术模型下取余调用次数为对数级;这不是位级运行时间。

O(log⁡2(N))O(\log_2(N))

详细学习笔记

按知识点查看条件、步骤和证据。补充解释与视频直接内容分别标明。

符号定义 · 14

gcd(a,b)

依据清楚
补充解释
来源依据
  1. 声音
    观察依据

    开场说明最大公约数,并用整数对举例。

  2. 公式
    观察依据

    开场说明最大公约数,并用整数对举例。

符号

gcd(a,b)

含义

能同时整除整数 a 和 b 且无余数的最大整数。

适用范围

整数 a 和 b,不全为零;GCD 取正值。

a, b, c

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    板书引理用整数变量陈述交换、整除与同余性质。

符号

a, b, c

含义

用于陈述 GCD 性质和欧几里得算法的整数变量。

适用范围

整数

y

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    板书把可整除的差写成模数的整数倍。

  2. 声音
    观察依据

    板书把可整除的差写成模数的整数倍。

符号

y

含义

一个整数,使得 by = a - c,由整除条件 b | (a - c) 推导得出。

适用范围

整数

gcd⁡(⋅,⋅)\gcd(\cdot,\cdot)

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    板书把同一个最大公约数依次写为不同整数对的最大公约数。

  2. 声音
    观察依据

    板书把同一个最大公约数依次写为不同整数对的最大公约数。

符号

gcd⁡(⋅,⋅)\gcd(\cdot,\cdot)

含义

两个整数的最大公约数。

适用范围

此处用于整数对,如 (a,b)(a,b)、(b,c)(b,c)、(b,r1)(b,r_1) 和 (r1,r2)(r_1,r_2)。

a,b,ca,b,c

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    板书把一个整数替换为减去另一个整数倍所得的差。

  2. 声音
    观察依据

    板书把一个整数替换为减去另一个整数倍所得的差。

符号

a,b,ca,b,c

含义

在证明 gcd⁡(a,b)=gcd⁡(b,c)\gcd(a,b)=\gcd(b,c) 的引理中出现的整数,条件为 b∣a−cb\mid a-c。

适用范围

整数。

yy

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    整数倍系数出现在整除等式与其移项结果中。

  2. 声音
    观察依据

    整数倍系数出现在整除等式与其移项结果中。

符号

yy

含义

见证 a−ca-c 是 bb 的倍数的整数。

适用范围

y∈Zy\in\mathbb{Z}。

dd

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    原片引入公约数并追踪正向整除关系,未单独展示反向论证。

  2. 声音
    观察依据

    原片引入公约数并追踪正向整除关系,未单独展示反向论证。

待核验内容
  1. 视频口头将 dd 识别为最大公约数,但显示的线条仅在后来关于 gcd 相等的结论之前明确陈述了 d∣ad\mid a 和 d∣bd\mid b。

符号

dd

含义

证明中使用的 aa 和 bb 的整数因子;口头处理为最大公约数。

适用范围

d∈Zd\in\mathbb{Z}。

∣\mid

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    板书在公约数论证中使用整除符号。

  2. 声音
    观察依据

    板书在公约数论证中使用整除符号。

符号

∣\mid

含义

整除关系:x∣yx\mid y 表示 xx 整除 yy。

适用范围

整数。

q1,q2,r1,r2q_1,q_2,r_1,r_2

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    连续带余除法引入商与余数,并用方框突出递减界。

  2. 声音
    观察依据

    连续带余除法引入商与余数,并用方框突出递减界。

符号

q1,q2,r1,r2q_1,q_2,r_1,r_2

含义

欧几里得算法连续除法步骤中的商和余数。

适用范围

整数,由除法算法上下文隐含余数界限 0≤r1<b0\le r_1<b 和 0≤r2<r10\le r_2<r_1;黑板仅明确显示 r1<br_1<b 和 r2<r1r_2<r_1。

a

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    板书在最大公约数归约等式中使用被除数。

符号

a

含义

最大公约数函数的第一个整数输入。

适用范围

有序正整数算法中的正整数;基本情况允许非负值。

b

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    板书在最大公约数归约等式中使用除数。

符号

b

含义

最大公约数函数的第二个整数输入。

适用范围

非负整数;进行除法时必须为正。

rkr_k

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    递减余数链在终止论证中达到零。

符号

rkr_k

含义

欧几里得余数链中的非负余数;编辑约定 r0=br_0=b 以涵盖第一步即整除的情形。

适用范围

非负整数

知识点 · 11

最大公约数 (GCD) 的定义

依据清楚
补充解释
来源依据
  1. 声音
    观察依据

    定义和小数值例子介绍正公约数与互质。

  2. 公式
    观察依据

    定义和小数值例子介绍正公约数与互质。

定义
解释

两个整数的 GCD 是能同时整除这两个数且无余数的最大正整数。如果两个数的 GCD 为 1,则称它们互质。

公式
gcd⁡(a,b)\gcd(a, b)
适用条件
  1. 整数 a 和 b,不全为零;使用最大的正公约数。

求 GCD 的暴力法

依据清楚
补充解释
来源依据
  1. 声音
    观察依据

    讲解把向下枚举公约数与更快的余数算法作比较。

方法
解释

寻找 GCD 的一种朴素方法是检查从较小数到 1 的每一个整数,看它是否能同时整除这两个数。这种方法具有线性时间复杂度,对于大数来说效率低下。

适用条件
  1. 正整数输入;在单位成本算术模型下,最坏情况下的整除测试次数与 min(a,b) 成线性关系。

先修条目
  1. 最大公约数 (GCD) 的定义

GCD 的交换律

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    板书第一项说明交换两个输入不改变最大公约数。

  2. 声音
    观察依据

    板书第一项说明交换两个输入不改变最大公约数。

公式
解释

GCD 函数参数的顺序不影响结果。

公式
gcd⁡(a,b)=gcd⁡(b,a)\gcd(a, b) = \gcd(b, a)
适用条件
  1. 整数 a 和 b,不全为零。

先修条目
  1. 最大公约数 (GCD) 的定义

当一个数整除另一个数时的 GCD

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    下一项讨论一个正整数输入能够整除另一个输入的情况。

  2. 声音
    观察依据

    下一项讨论一个正整数输入能够整除另一个输入的情况。

公式
解释

如果正整数 a 整除另一个整数 b,那么 a 和 b 的最大公约数就是 a。

公式
a>0, a∣b ⟹ gcd⁡(a,b)=aa>0,\ a\mid b\ \Longrightarrow\ \gcd(a,b)=a
适用条件
  1. a>0a > 0

  2. a 整除 b (a|b)

先修条目
  1. 最大公约数 (GCD) 的定义

GCD 与模同余

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    板书第三项用同余关系保持与模数的公约数。

  2. 声音
    观察依据

    板书第三项用同余关系保持与模数的公约数。

公式
解释

如果两个整数 a 和 c 对模 b 同余,它们与 b 的最大公约数是相同的。这一性质是欧几里得算法的基础,允许减小大数的计算规模。

公式
a≡c(modb) ⟹ gcd⁡(a,b)=gcd⁡(c,b)a\equiv c\pmod b\ \Longrightarrow\ \gcd(a,b)=\gcd(c,b)
适用条件
  1. 整数 a 和 c;正整数模数 b。

先修条目
  1. 最大公约数 (GCD) 的定义

gcd 的对称性

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    板书保留最大公约数的交换性质。

公式
解释

视频列出一个基本事实:交换两个参数不会改变最大公约数。

公式
gcd⁡(a,b)=gcd⁡(b,a)\gcd(a,b)=\gcd(b,a)
适用条件
  1. 整数 (a,b)(a,b) 不全为零;GCD 为正。

当一个数整除另一个数时的 gcd

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    板书保留正整数能够整除另一个整数的特殊情况。

公式
解释

如果 aa 为正且整除 bb,那么 aa 和 bb 的最大公约数恰好是 aa。

公式
a>0, a∣b⇒gcd⁡(a,b)=aa>0,\ a\mid b \Rightarrow \gcd(a,b)=a
适用条件
  1. a>0a>0

  2. a∣ba\mid b

先修条目
  1. gcd 的对称性

减去倍数下的 gcd 归约

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    原片展示同余引理及正向公约数论证,公开笔记中的反向论证是编辑补充。

  2. 声音
    观察依据

    原片展示同余引理及正向公约数论证,公开笔记中的反向论证是编辑补充。

待核验内容
  1. 较早的原生引理帧确认了同余,而不是模型读取的集合成员记号。源显示正向因子蕴含;逆向由编辑补充。

公式
解释

对于整数 a,ca,c 和正整数 bb,把 aa 替换为 c=a−byc=a-by 保持最大公约数。原片展示正向公约数蕴含。编辑补充:bb 和 cc 的公约数也整除 a=c+bya=c+by,因此两组正公约数相同。

公式
b∣a−c⇒gcd⁡(a,b)=gcd⁡(b,c)b\mid a-c \Rightarrow \gcd(a,b)=\gcd(b,c)
适用条件
  1. a,c,y∈Za,c,y\in\mathbb Z,b>0b>0 是整数。

  2. c=a−byc=a-by。

先修条目
  1. gcd 的对称性

欧几里得算法归约规则

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    板书把被除数与除数替换为除数与余数,保持最大公约数。

  2. 声音
    观察依据

    板书把被除数与除数替换为除数与余数,保持最大公约数。

方法
解释

欧几里得算法被呈现为对除法余数重复应用归约引理:将 (a,b)(a,b) 替换为 (b,r1)(b,r_1),然后是 (r1,r2)(r_1,r_2),依此类推,每一步都保持 gcd 不变。

公式
a=bq1+r1, 0≤r1<b ⟹ gcd⁡(a,b)=gcd⁡(b,r1);b=r1q2+r2, 0≤r2<r1 ⟹ gcd⁡(b,r1)=gcd⁡(r1,r2)a=bq_1+r_1,\ 0\le r_1<b\ \Longrightarrow\ \gcd(a,b)=\gcd(b,r_1);\quad b=r_1q_2+r_2,\ 0\le r_2<r_1\ \Longrightarrow\ \gcd(b,r_1)=\gcd(r_1,r_2)
适用条件
  1. 整数输入 a≥b>0a\ge b>0,具有标准非负除法余数。

  2. 仅在 r1r_1 为正时继续用该余数作除数;为零时停止。

先修条目
  1. 减去倍数下的 gcd 归约

欧几里得算法原理

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    板书完成余数链并指出最后的正除数。

  2. 声音
    观察依据

    板书完成余数链并指出最后的正除数。

方法
解释

对正整数输入,把整数对替换为除数与非负余数。余数为零时返回前一个正除数;第一步即整除时返回原除数。

公式
gcd⁡(a,b)=gcd⁡(b,a mod b)\gcd(a,b) = \gcd(b, a \bmod b)
适用条件
  1. 非负整数输入不全为零;展示的除法链使用 a≥b>0a\ge b>0。

  2. 递归除法要求 b>0b>0 并使用非负余数;当 b=0b=0 时返回 aa。

欧几里得算法的时间复杂度

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    复杂度幻灯片讨论余数界与对数级调用次数;公开算术成本条件为编辑补充。

  2. 公式
    观察依据

    复杂度幻灯片讨论余数界与对数级调用次数;公开算术成本条件为编辑补充。

公式
解释

对有序正整数输入,至多两次递归调用后,较大参数降到此前值的一半以下,除非算法已经终止。单位成本算术模型下,这给出按数值量级计算的对数级取余调用次数。

公式
O(log⁡2(N))O(\log_2(N))
适用条件
  1. 整数 a>b>0a>b>0;N=a+bN=a+b 表示数值量级,不是二进制位数。

  2. 每次取余按单位成本计数;这里不是所有位运算次数的界。

先修条目
  1. 欧几里得算法原理
定理与条件 · 4

欧几里得算法的引理

依据清楚
补充解释
来源依据
  1. 声音
    观察依据

    原片把交换、整除与同余性质归为支撑算法的引理。

  2. 公式
    观察依据

    原片把交换、整除与同余性质归为支撑算法的引理。

定理
命题

欧几里得算法依赖于 GCD 的三个性质:交换律、一个数整除另一个数的情况,以及 GCD 与模同余之间的关系。

前提
  1. 前两部分需要其陈述的整数和正性条件;同余用于正模数 b。

量词

对满足每一部分特定条件的整数 a, b, c 进行全称量化。

用于证明欧几里得算法的三个引理

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    讲解把前述最大公约数性质与余数算法联系起来。

  2. 声音
    观察依据

    讲解把前述最大公约数性质与余数算法联系起来。

命题
命题

视频提出三个引理——gcd 的对称性、一个正整数整除另一个时的 gcd,以及在减去倍数下 gcd 的保持——作为解释欧几里得算法的基础。

前提
  1. 整数处于通常的 gcd 设置中。

  2. 对于第二个引理,a>0a>0 且 a∣ba\mid b。

  3. 对于第三个引理,b∣a−cb\mid a-c。

量词

在每个引理中显示的整数变量上的全称量词。

归约引理的结论

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    原片在展示正向蕴含后陈述最大公约数相等,该相等结论需要笔记补充的反向蕴含。

  2. 声音
    观察依据

    原片在展示正向蕴含后陈述最大公约数相等,该相等结论需要笔记补充的反向蕴含。

待核验内容
  1. 显示的证明明确追踪了一个公因子 dd;完全严谨还需要反向包含或诉诸 gcd 的定义,这在此片段中没有单独写出。

命题
命题

在条件 b∣a−cb\mid a-c 下,aa 和 bb 的最大公约数等于 bb 和 cc 的最大公约数。

前提
  1. a,c∈Za,c\in\mathbb Z,b>0b>0 是整数。

  2. b∣(a−c)b\mid(a-c)。

量词

对于满足假设的所有整数 a,ca,c 和正整数 bb。

余数减半性质

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    实际复杂度幻灯片比较新余数与先前被除数的一半。

命题
命题

对整数 a>b>0a>b>0,新的第二个参数 a mod ba\bmod b 至多是此前第一个参数 aa 的一半。

前提
  1. a>b>0a > b > 0

量词

对于所有有效输入 a, b

推导与证明 · 4

GCD 与模同余性质的证明(第 1 部分)

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    板书从把差写成整数倍开始同余论证,后续画面继续该论证。

  2. 声音
    观察依据

    板书从把差写成整数倍开始同余论证,后续画面继续该论证。

待核验内容
  1. 只有这个论证的开头位于前 0–101 秒的分析区间内;完整源视频继续。反向公约数蕴含关系将作为编辑性的数学澄清提供。

严格证明
步骤
  1. 公式
    a≡c(modb)a \equiv c \pmod b
    解释

    从假设 a ≡ c (mod b) 开始。

    步骤依据

    引理第三部分的假设。

    视频直接表达
  2. 公式
    b∣(a−c)b \mid (a - c)
    解释

    根据同余的定义,b 必须整除 a 和 c 之间的差。

    步骤依据

    模同余的定义。

    视频直接表达
  3. 公式
    ∃y∈Z,by=a−c\exists y \in \mathbb{Z}, by = a - c
    解释

    这意味着存在一个整数 y,使得 by 等于 a 减 c。

    步骤依据

    整除的定义。

    视频直接表达
结论

显示的方程开始了论证。源视频在此分析区间之后继续;仅凭这个部分推导尚未建立两个 GCD 相等。

证明 b∣a−cb\mid a-c 蕴含 gcd⁡(a,b)=gcd⁡(b,c)\gcd(a,b)=\gcd(b,c)

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    板书推出公约数整除差并陈述相等结论,反向公约数集合论证为编辑补充。

  2. 声音
    观察依据

    板书推出公约数整除差并陈述相等结论,反向公约数集合论证为编辑补充。

待核验内容
  1. 片段清楚显示了正向整除链,但没有单独显示为了完全对称地证明 gcd 集合相等所需的反向包含。

严格证明
步骤
  1. 公式
    ∃y∈Z  by=a−c\exists y\in\mathbb{Z}\; by=a-c
    解释

    从 bb 整除 a−ca-c 的假设开始,因此存在整数 yy 使得 by=a−cby=a-c。

    步骤依据

    整除的定义。

    视频直接表达
  2. 公式
    c=a−byc=a-by
    解释

    移项,把 cc 用 aa、bb 和 yy 表示。

    步骤依据

    by=a−cby=a-c 的代数重排。

    视频直接表达
  3. 公式
    ∃d∈Z, d∣a, d∣b\exists d\in\mathbb{Z},\ d\mid a,\ d\mid b
    解释

    取整数 dd 同时整除 aa 和 bb;原讲解将其放在最大公约数语境中。

    步骤依据

    证明设置中的假设 / 公因子的定义。

    视频直接表达
  4. 公式
    d∣a−byd\mid a-by
    解释

    因为 dd 整除 aa 和 bb,它也整除组合 a−bya-by。

    步骤依据

    整除在整数线性组合下的封闭性;说话者将其描述为乘以 bb 的因子。

    视频直接表达
  5. 公式
    d∣cd\mid c
    解释

    因为 c=a−byc=a-by,之前的整除陈述变为 d∣cd\mid c。

    步骤依据

    使用 c=a−byc=a-by 进行替换。

    视频直接表达
  6. 公式
    gcd⁡(a,b)=gcd⁡(b,c)\gcd(a,b)=\gcd(b,c)
    解释

    源在正向蕴含后陈述相等。为了完成证明,还需取 bb 和 cc 的任何正因子;它整除 a=c+bya=c+by。因此两个正公因子集合重合。

    步骤依据

    编辑的反向包含,连同观察到的正向包含,证明了 GCD 的相等。

    补充解释
结论

该等式对于整数 a,ca,c 和正整数 bb 是正确的。其完整证明使用了两个公因子蕴含;上述反向蕴含是编辑性的,未在源中单独显示。

欧几里得算法的递归归约链

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    板书展示连续符号除法及对应的最大公约数等式。

  2. 声音
    观察依据

    板书展示连续符号除法及对应的最大公约数等式。

待核验内容
  1. 停止情况在此 101–202 秒分析区间之外,并在完整源的后半部分解释。

严格证明
步骤
  1. 公式
    a=bq1+r1, 0≤r1<ba=bq_1+r_1,\ 0\le r_1<b
    解释

    应用 aa 除以 bb 引入商 q1q_1 和余数 r1r_1。

    步骤依据

    整数除法算法。

    补充解释
  2. 公式
    gcd⁡(a,b)=gcd⁡(b,r1)\gcd(a,b)=\gcd(b,r_1)
    解释

    将配对 (a,b)(a,b) 替换为 (b,r1)(b,r_1) 而不改变 gcd。

    步骤依据

    归约引理,配合编辑的反向因子论证完成。

    视频直接表达
  3. 公式
    b=r1q2+r2, 0≤r2<r1b=r_1q_2+r_2,\ 0\le r_2<r_1
    解释

    当 r1>0r_1>0 时,将 bb 除以 r1r_1;否则停止。

    步骤依据

    整数除法算法。

    补充解释
  4. 公式
    gcd⁡(b,r1)=gcd⁡(r1,r2)\gcd(b,r_1)=\gcd(r_1,r_2)
    解释

    重复相同的归约,从 (b,r1)(b,r_1) 传递到 (r1,r2)(r_1,r_2)。

    步骤依据

    对下一对应用相同的归约引理。

    视频直接表达
  5. 公式
    …\dots
    解释

    只要当前除数为正就重复。正整数余数严格递减,因此过程终止而不是无限继续。

    步骤依据

    编辑的非负整数下降;下一个源区间呈现终止规则。

    补充解释
结论

欧几里得算法是通过迭代恒等式 gcd⁡(x,y)=gcd⁡(y,rem⁡(x,y))\gcd(x,y)=\gcd(y,\operatorname{rem}(x,y)) 经过逐渐变小的余数获得的。

对数复杂度界限的证明

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    实际幻灯片用反证法建立余数界,其中零商旁注有笔误;对应公开步骤已由编辑修正。

待核验内容
  1. 实际幻灯片误写零商会推出 k=bk=b;正确结果是 k=ak=a。下面的商界步骤是编辑修正,并非照抄该错误旁注。

严格证明
步骤
  1. 公式
    a%b=k,k>a/2a \% b = k, \quad k > a/2
    解释

    在整数 a>b>0a>b>0 条件下,反设余数大于被除数的一半。

    步骤依据

    反证法假设

    补充解释
  2. 公式
    a=q⋅b+k,k<ba = q \cdot b + k, \quad k < b
    解释

    根据取模的定义,a 可以写成商乘以除数加上余数,其中余数小于除数。

    步骤依据

    除法算法

    视频直接表达
  3. 公式
    a/2<k<b<aa/2 < k < b < a
    解释

    结合假设 k>a/2k > a/2 和 k<bk < b 得到这个不等式链。

    步骤依据

    不等式的传递性

    视频直接表达
  4. 公式
    q=1q = 1
    解释

    由 b>a/2b>a/2 可排除至少为二的商,且 a>ba>b 要求商为正,因此 q=1q=1。特别地,零商会得到 k=ak=a,而非幻灯片写的 k=bk=b。

    步骤依据

    编辑修正后的整数商界。

    补充解释
  5. 公式
    k+b>a/2+a/2=ak + b > a/2 + a/2 = a
    解释

    将 q=1q=1 代入 a=b+ka = b + k 得到 a=b+ka = b + k。但我们已确立 k>a/2k > a/2 且 b>a/2b > a/2,所以它们的和超过 a。

    步骤依据

    算术代换

    视频直接表达
  6. 公式
    a>aa>a
    解释

    我们推导出 k+b>ak + b > a,但方程 a=q∗b+ka = q*b + k 在 q=1q=1 时意味着 a=b+ka = b + k。这是一个矛盾。

    步骤依据

    逻辑矛盾

    补充解释
结论

假设的大余数不可能存在,因此 k≤a/2k\le a/2。把这个界应用到两次调用,可得到限制取余调用次数所需的参数缩减。

例题详解 · 1

GCD 计算的例子

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    开场显示小整数对以说明最大公约数与互质;下面的公约数列表是编辑核算。

  2. 声音
    观察依据

    开场显示小整数对以说明最大公约数与互质;下面的公约数列表是编辑核算。

题目

求几对整数的 GCD。

已知条件
  1. 对:(7, 21), (24, 30), (7, 9)

目标

确定每对数的最大公约数。

步骤
  1. 解释

    对于 7 和 21,7 整除 21,所以 GCD 是 7。

    步骤依据

    GCD 的定义。

    视频直接表达
  2. 解释

    对于 24 和 30,公约数是 1, 2, 3, 6。最大的是 6。

    步骤依据

    GCD 的定义。

    补充解释
  3. 解释

    对于 7 和 9,唯一的公约数是 1。

    步骤依据

    GCD 的定义。

    视频直接表达
结果

GCD(7, 21) = 7; GCD(24, 30) = 6; GCD(7, 9) = 1。

检验

演讲者指出,由于 GCD(7, 9) = 1,数字 7 和 9 是互质的。

图示与动画 · 6

介绍性标题卡

依据清楚
补充解释
来源依据
  1. 图示
    观察依据

    开场用一对整数提出高效计算最大公约数的问题。

图中对象
  1. 文本框

  2. 蓝色背景

变化过程
  1. 从通用标题过渡到具体问题示例。

数学含义

开场以一对较大整数引出高效求最大公约数的方法;该数值只用作问题动机,原片没有逐步计算这一对数。

引理的白板演示

依据清楚
补充解释
来源依据
  1. 图示
    观察依据

    网格白板呈现编号引理与逐步写出的等式。

  2. 动画
    观察依据

    网格白板呈现编号引理与逐步写出的等式。

图中对象
  1. 网格纸背景

  2. 手写文本和公式

变化过程
  1. 引理陈述的出现。

  2. 引理第三部分证明步骤的顺序书写。

不变量
  1. 当证明第三部分时,引理的前两部分保持静止。

数学含义

板书按引理陈述和逐步等式组织论证;反向公约数推理需要编辑补充。

引理黑板和渐进式证明书写

依据清楚
补充解释
来源依据
  1. 图示
    观察依据

    网格板书在编号引理下逐行添加代数关系。

  2. 动画
    观察依据

    网格板书在编号引理下逐行添加代数关系。

图中对象
  1. “欧几里得算法”标题

  2. 手写引理列表

  3. 带有 ∃y∈Z\exists y\in\mathbb{Z}、c=a−byc=a-by、∃d∈Z\exists d\in\mathbb{Z}、整除陈述和 gcd⁡(a,b)=gcd⁡(b,c)\gcd(a,b)=\gcd(b,c) 的证明行

变化过程
  1. 行在引理列表下方一个接一个添加。

  2. 证明从假设 by=a−cby=a-c 增长到结论 gcd⁡(a,b)=gcd⁡(b,c)\gcd(a,b)=\gcd(b,c)。

不变量
  1. 黑板保持为单个静态书写表面,没有坐标轴或几何图形。

  2. 引理编号在证明上方保持可见。

数学含义

板书组织归约论证;正向关系来自原片,公开反向论证明确标为编辑补充。

向下滚动并开始算法推导

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    画面移向较低书写区域以展示连续余数等式。

  2. 图示
    观察依据

    画面移向较低书写区域以展示连续余数等式。

图中对象
  1. 滚动的黑板视图

  2. 连续除法的新手写方程

  3. 表示延续的省略号

变化过程
  1. 早期的引理证明向上移出主要焦点。

  2. 下方写入新行以将引理应用于除法余数。

  3. 最终可见状态在第二次归约后包括一个省略号。

不变量
  1. 相同的数学主题从引理延续到算法。

  2. 未引入数值示例;推导保持符号化。

数学含义

滚动标志着从证明关键引理到将其用作欧几里得算法递归机制的转变。

滚动的白板推导

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    板书画面移动,把余数链与前述最大公约数性质联系起来。

图中对象
  1. 手写数学方程

变化过程
  1. 视图垂直移动以显示上下文

不变量
  1. 相机平移时方程保持静止

数学含义

视觉辅助工具,用于将最终结果与初始引理定义联系起来。

实现代码

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    原片展示带零除数判断的 Java 风格递归函数。

图中对象
  1. 代码块

变化过程
  1. 从白板过渡到打字代码

不变量
  1. 代码逻辑与数学推导相匹配

数学含义

演示递归数学定义如何直接转化为编程语法。

易错点 · 3

暴力法求 GCD 的低效性

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解通过与逐个测试候选数比较,引出更高效的算法。

误区

人们可能认为检查所有向下到 1 的数字是计算 GCD 的一种可行策略。

说明

视频强调这种暴力方法具有线性时间复杂度,对于大数来说太慢,从而引出欧几里得算法。

gcd 相等需要不止一个整除方向

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    原片明确展示正向公约数蕴含,随后给出相等结论。

  2. 声音
    观察依据

    原片明确展示正向公约数蕴含,随后给出相等结论。

误区

人们可能认为仅通过显示 aa 和 bb 的每个公因子都整除 cc,写下的链条就证明了两个 gcd 的相等。

说明

为了严谨地证明 gcd⁡(a,b)=gcd⁡(b,c)\gcd(a,b)=\gcd(b,c),还需要反向包含(或使用最大公约数定义的等效论证)。片段明确显示正向方向,然后陈述相等。

停止规则在源的后半部分

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    此分析区间在余数链仍继续时结束,完整原片随后解释终止规则。

  2. 声音
    观察依据

    此分析区间在余数链仍继续时结束,完整原片随后解释终止规则。

误区

观众可能假设显示的链条已经指定了完整的欧几里得算法。

说明

此 101–202 秒区间建立了归约机制。完整源稍后在余数变为 00 时停止并返回前一个正因子;没有完整源媒体遗漏。

概念关系 · 7

最大公约数 (GCD) 的定义 → 欧几里得算法的引理

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    原片从直接枚举公约数转向欧几里得算法。

应用
解释

欧几里得算法被提出作为一种专门用于应用和计算最大公约数的高效方法。

GCD 与模同余 → 最大公约数 (GCD) 的定义

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    同余陈述为后续最大公约数归约提供不变量。

应用
解释

同余保持了与模数的公约数,并被应用于减少 GCD 计算;这是一种不变量,而不是 GCD 定义的推广。

减去倍数下的 gcd 归约 → 欧几里得算法归约规则

依据清楚
补充解释
来源依据
  1. 声音
    观察依据

    余数步骤使用经编辑补全的公约数不变量。

  2. 公式
    观察依据

    余数步骤使用经编辑补全的公约数不变量。

证明依赖
解释

归约引理,配合其编辑的反向公因子补充,证明了每个欧几里得余数步骤。

gcd 的对称性 → 减去倍数下的 gcd 归约

时间近似
依据视频推导
来源依据
  1. 公式
    观察依据

    最大公约数相等陈述交换了整数对的顺序。

  2. 声音
    观察依据

    最大公约数相等陈述交换了整数对的顺序。

待核验内容
  1. 片段在结论时刻没有明确指向对称引理;连接是从显示的陈述推断出来的。

应用
解释

gcd 的对称性允许归约结果以第二个参数为先的形式写出,产生算法中使用的形式 gcd⁡(a,b)=gcd⁡(b,c)\gcd(a,b)=\gcd(b,c)。

欧几里得算法归约规则 → 减去倍数下的 gcd 归约

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    带余除法等式提供最大公约数的下一组参数。

  2. 声音
    观察依据

    带余除法等式提供最大公约数的下一组参数。

应用
解释

每个欧几里得步骤都是在将被除数表示为除数乘以商加余数后,归约引理的一个实例。

欧几里得算法原理 → 欧几里得算法原理

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解把递归函数与前述余数规则联系起来。

应用
解释

数学原理被直接应用于编写递归函数。

余数减半性质 → 欧几里得算法的时间复杂度

依据清楚
补充解释
来源依据
  1. 公式
    观察依据

    余数界用来说明递归调用次数为何是对数级。

证明依赖
解释

修正后的减半论证说明有序正整数输入在单位成本算术模型下具有对数级递归取余调用次数。

问题定位 · 8

为什么计算 GCD 的暴力法被认为效率低下?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    原片比较直接搜索所需的算术测试次数。

涉及知识点
  1. 求 GCD 的暴力法

模同余与最大公约数之间有什么关系?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    同余引理陈述两个最大公约数表达式相等。

涉及知识点
  1. GCD 与模同余

给定 a ≡ c (mod b),gcd(a,b) = gcd(c,b) 的证明是如何开始的?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    开头的板书等式把同余转化为整除。

涉及知识点
  1. GCD 与模同余性质的证明(第 1 部分)

为什么从一个数中减去另一个数的倍数会保持 gcd?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    板书把减去整数倍与保持公约数联系起来。

  2. 声音
    观察依据

    板书把减去整数倍与保持公约数联系起来。

涉及知识点
  1. 减去倍数下的 gcd 归约
  2. 证明 b∣a−cb\mid a-c 蕴含 gcd⁡(a,b)=gcd⁡(b,c)\gcd(a,b)=\gcd(b,c)

欧几里得算法如何将带余除法转化为一系列相等的 gcd?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    连续带余除法旁边写有最大公约数相等的恒等式。

  2. 声音
    观察依据

    连续带余除法旁边写有最大公约数相等的恒等式。

涉及知识点
  1. 欧几里得算法归约规则
  2. 欧几里得算法的递归归约链

为什么余数不等式在欧几里得算法中很重要?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    突出的余数不等式说明递减与终止的依据。

  2. 声音
    观察依据

    突出的余数不等式说明递减与终止的依据。

涉及知识点
  1. 欧几里得算法归约规则
  2. 欧几里得算法的递归归约链

为什么欧几里得算法在单位成本算术模型下只需 O(log⁡N)O(\log N) 次取余调用?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    原片把参数缩减与对应调用次数作比较。

涉及知识点
  1. 欧几里得算法的时间复杂度
  2. 余数减半性质

递归 GCD 函数的基本情况是什么?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    展示的函数在第二个参数为零时返回第一个参数。

涉及知识点
  1. 欧几里得算法原理
覆盖情况与待核验内容

已覆盖 · 标题卡和问题介绍。

已覆盖 · GCD 的定义和示例。

已覆盖 · 讨论暴力法及其低效性。

已覆盖 · 介绍欧几里得算法的过渡幻灯片。

已覆盖 · 展示欧几里得算法的三部分引理。

已覆盖 · 同余论证从这里开始,并在 101 秒分析边界之后的源视频中继续;此区间已覆盖,并非缺失。

已覆盖 · 源显示正向公因子链并陈述相等;公开证明明确添加了所需的反向方向作为编辑内容。

已覆盖 · 可见两个符号余数归约。原生帧 201.8 确认同一黑板持续到最后一秒;终止规则出现在完整源的后半部分。

已覆盖 · 白板上的数学推导。

已覆盖 · 代码实现。

已覆盖 · 原片展示减半论证与复杂度结论;公开笔记披露零商旁注修正及算术成本模型。

已覆盖 · 结尾幻灯片;实际末帧确认没有后续数学内容。声明时长取整到整秒。

探索视频中的知识

打开视频知识图谱 →

  • 最大公约数 讲解定位 0:07
    查看关联依据

    7 至 31 秒定义最大公因数为同时整除两个输入的最大整数,并将直接试除与寻找高效算法的需要作对比。

  • 欧几里得算法 讲解定位 0:35
    查看关联依据

    35 至 202 秒通过整除引理反复把整数对替换为余数对,解释最大公因数为何保持不变。原片只展示了公约数论证的一个方向,公开编辑注补全反向论证,因此关联归为讲解而非证明。

  • 欧几里得算法 应用定位 3:22
    查看关联依据

    202 至 282 秒推导递归取余规则,给出 Java 实现,并说明至多两次调用后余数会小于一半。公开审核把复杂度结论限定为单位成本模型下的取余调用次数,并纠正约 270 秒幻灯片中的旁注笔误。