为什么令 k=floor() 会得到欧几里得算法?
令 k 等于 a 除以 b 的下取整,会将项 转换为 a 除以 b 的余数。由于 a mod - floor()·b,将其代入递推公式 gcd(a,b)=gcd(b,) 得到 gcd(a,b)=gcd(b,a mod b),这就是欧几里得算法。
适用条件
- k 被设为 floor()。
- b 不为零(由除法运算隐含,尽管视频中未明确说明)。
理解与推导
- 从一般公式 gcd(a,b)=gcd(b,) 开始。
- 设 k = floor()。
- 认识到 a - floor()·b 是 a mod b 的定义。
- 将 a mod b 代入公式得到 gcd(a,b)=gcd(b,a mod b)。
例子
视频解释说:“令 k=floor(),得到欧几里得算法:gcd(a,b)=gcd(b,a mod b)。”
容易误解的地方
- 认为 floor() 是余数;它是商。
- 认为欧几里得算法在 时也适用;在这种情况下除以 b 是无定义的。
观看对应讲解
相关概念
继续追问
相关问题
理解原因↗
欧几里得算法将旧的除数移到左边(新的被除数),将旧的余数移到较小数的位置(新的除数),以递归地简化问题。这种移位确保随后的每个除法步骤都在更小的数字上进行,同时保持原始数对的最大公约数,直到达到余数为零为止。
适用条件:算法应用于两个正整数。;前一个余数不为零。;过程持续直到获得余数 0。
YouTube欧几里得算法:两个最大公因数例题
0:58 – 1:23原站看这一段 ↗
掌握方法↗
要形成下一个除法行,你取前一行的除数,并将其作为新行的被除数。然后,你取前一行的余数,并将其作为新行的除数。
适用条件:你刚刚完成了欧几里得算法中的一个除法步骤。;前一个余数不为 0。
YouTube欧几里得算法:最大公因数例题|Michael Penn
0:50 – 1:12原站看这一段 ↗
掌握方法↗
要开始求 的欧几里得算法,需将较大的数写成较小的数乘以一个未知的商加上一个未知的余数。具体来说,建立除法方程 。
适用条件:输入是正整数。;较大的数放在方程的左边。;商是整数,且余数满足 。
YouTube欧几里得算法:两个最大公因数例题
0:25 – 0:58原站看这一段 ↗
掌握方法↗
要求两个大数的最大公约数,需反复应用带余数除法步骤。首先用较大的数除以较小的数。
适用条件:输入是两个正整数。;每一步都应用除法算法。;当余数等于 0 时停止过程。
YouTube欧几里得算法:两个最大公因数例题
2:46 – 4:09原站看这一段 ↗
认识概念↗
欧几里得算法的核心变换是将求 的问题替换为求 ,其中 是 除以 的余数。这在保持最大公约数不变的同时减小了问题规模。
适用条件:整数 和 满足 。;余数 严格小于 。
哔哩哔哩详细描述欧几里得算法(附证明)
4:56 – 5:22原站看这一段 ↗
答案依据视频资料生成并经过独立核验。若有疑问,请核对原视频或联系原作者。