使用欧几里得算法逐步计算最大公约数(GCD)和最小公倍数(LCM),支持两个及多个数字。
最大公约数(GCD)和最小公倍数(LCM)是初等数论中两个最重要的概念,其应用从中学的分数约分到保障互联网安全的加密算法,范围广泛。
欧几里得算法由欧几里得在公元前300年左右描述,是数学中最古老且最高效的算法之一。它在 O(log(min(a,b))) 步内计算 GCD,对于非常大的数字也能快速终止。该算法反复应用恒等式:GCD(a, b) = GCD(b, a mod b),直到余数为零。
此计算器逐步展示两个数的完整欧几里得算法,并利用推广公式 GCD(a, b, c) = GCD(GCD(a, b), c) 计算多个数的 GCD 和 LCM。
求 GCD(48, 18):48 = 2×18 + 12 → 18 = 1×12 + 6 → 12 = 2×6 + 0。GCD = 6。LCM = |48×18|/6 = 864/6 = 144。验证:144/48 = 3 ✓,144/18 = 8 ✓。
应用欧几里得算法求 GCD(48, 18)
除法步骤(欧几里得算法)
48 = 2 × 18 + 12 → 18 = 1 × 12 + 6 → 12 = 2 × 6 + 0
GCD(48, 18) = 最后一个非零余数
LCM = |a × b| / GCD
LCM(48, 18)
• GCD(a, b) × LCM(a, b) = |a × b|
• GCD(a, 0) = a (任何数都能被自身整除)
• 如果 GCD(a, b) = 1,则 a 和 b 互质
• 欧几里得算法的时间复杂度为 O(log(min(a,b)))
• 最小公倍数用于异分母分数加法