一、最大公约数和最小公倍数的概念
- 最大公约数:两个数共同的约数中最大的那个数。例如,12 的约数有 1、2、3、4、6、12,16 的约数有 1、2、4、8、16,它们的公约数是 1、2、4,其中最大公约数是 4。
- 最小公倍数:两个数的倍数中第一次相等的那个数。例如,12 和 16,16×3 = 48,12×4 = 48,48 就是它们的最小公倍数。
二、最大公约数与最小公倍数的公式
- 对于已知的数 a 和 b,存在公式 a * b = GCD * LCM,其中 GCD 是最大公约数,LCM 是最小公倍数。
三、求最大公约数的方法
- 暴力穷举法:
- 将两个数中小的那个赋给变量
tmp
,因为最大公约数不会超过两个数中最小的那个。 - 从
tmp
开始递减,直到找到一个数能同时整除 a 和 b,这个数就是最大公约数。
- 将两个数中小的那个赋给变量
- 辗转相除法:
- 又称欧几里得算法,是求取最大公约数的一种经典算法。
- 不断用较大数除以较小数取余数,然后将除数和余数作为新的两个数继续进行这个过程,直到余数为 0,此时的除数就是最大公约数。
- 更相减损术:
- 出自《九章算术》,用于求两个数的最大公约数。
- 不断用较大数减去较小数,直到两个数相等,此时的数就是最大公约数。
四、求最小公倍数的方法
- 公式法:
- 利用公式 a * b = GCD * LCM,先求出最大公约数 GCD,然后通过公式计算最小公倍数 LCM。
- 暴力穷举法:
- 从两个数中较大的那个数开始递增,直到找到一个数能同时被 a 和 b 整除,这个数就是最小公倍数。
- 叠乘法:
- 已知两个数的公倍数一定与这两个数存在倍数关系,将其中一个数依次扩大 1 倍、2 倍、3 倍…… 直到出现第一个扩大 n 倍的数可以同时整除这两个数,这个数就是最小公倍数。