LCM of Two Numbers in Java

17 Mar 2025 | 4 分钟阅读

在算术中,两个或多个数字的最小公倍数(LCM)是能被这两个数字整除的最小正数,且不留余数。它也被称为最低公倍数 (LCM)、最小公分母最小公倍数。它用 LCM (a, b)lcm (a, b) 表示,其中 a 和 b 是两个整数。

当我们在进行分数加法、减法或比较时使用它。在进行分数加法或减法时,我们找到分母的 LCM,然后求解分数。分母的 LCM 被称为最小公分母 (LCD)

LCM 的性质

  • 结合律:LCM (a, b) = LCM (b, a)
  • 交换律:LCM (a, b, c) = LCM (LCM (a, b), c) = LCM (a, LCM (b, c))
  • 分配律:LCM (ka, kb, kc) = kLCM (a, b, c)
  • LCM 与 GCF 的关系
LCM of Two Numbers in Java

如何找到 LCM?

有四种方法可以找到 LCM,如下所示:

  • 使用最大公约数 (GCD) 方法
  • 使用质因数分解法
  • 使用数字的倍数

使用最大公约数 (GCD) 方法

我们也可以使用 GCD 来计算 LCM。使用 GCD 计算 LCM 的公式是

LCM of Two Numbers in Java

最大公约数:它是能完全整除两个或多个数字的最大的数字。它是 GCD 的缩写。它也被称为最大公因子 (GCF) 或最高公因子 (HCF)。

如何找到 GCD?

要找到 GCD,请按照以下步骤操作:

  • 写出每个数字的所有因子。
  • 选择公因子。
  • 选择最大的数字作为 GCD。

让我们通过示例来理解。

示例:求 8 和 10 的 LCM。

解决方案

根据我们上面学到的公式

LCM of Two Numbers in Java

首先,我们找到 8 和 10 的 GCD。

8 的因子:1、2、4、8

10 的因子:1、2、5、10

公因子:1、2

最大公约数:2

LCM of Two Numbers in Java

因此,8 和 10 的 LCM 是 40。

让我们在 Java 程序中实现该逻辑。

使用 if 语句

LcmExample1.java

输出

The LCM of 12 and 9 is 36.

使用递归

LcmExample2.java

输出

Enter the first number: 45
Enter the second number: 78
LCM of 45 and 78 is 1170

使用数字的倍数

这是一个很冗长的方法,所以通常不使用。按照以下步骤使用数字的倍数找到 LCM:

  • 列出每个数字的所有倍数,直到找到第一个公倍数。
  • 选择所有给定数字中的最小公倍数。

让我们通过示例来理解。

示例:9 和 12 的 LCM 是多少。

解决方案

9 的倍数:9、18、27、36

12 的倍数:12、24、36

LCM (9,12)=36,因为它是两个数中的公倍数。

因此,9 和 12 的 LCM 是 36。

让我们在 Java 程序中实现该逻辑。

LcmExample4.java

输出

Enter the first number: 123
Enter the second number: 213
LCM of 123 and 213 is: 8733