企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Java 程序:查找两个数字的 LCM > 原文: [https://www.programiz.com/java-programming/examples/lcm](https://www.programiz.com/java-programming/examples/lcm) #### 在此程序中,您将学习使用 GCD 而不是 GCD 查找两个数字的 lcm。 这是使用 Java 中的`for`和`while`循环完成的。 两个整数的 LCM 是可以被两个数字完全除(没有余数)的最小正整数。 ## 示例 1:使用`while`循环和`if`语句的 LCM ```java public class LCM { public static void main(String[] args) { int n1 = 72, n2 = 120, lcm; // maximum number between n1 and n2 is stored in lcm lcm = (n1 > n2) ? n1 : n2; // Always true while(true) { if( lcm % n1 == 0 && lcm % n2 == 0 ) { System.out.printf("The LCM of %d and %d is %d.", n1, n2, lcm); break; } ++lcm; } } } ``` 运行该程序时,输出为: ```java The LCM of 72 and 120 is 360. ``` 在此程序中,将找到其 LCM 的两个数字分别存储在变量`n1`和`n2`中。 然后,我们最初将`lcm`设置为两个数字中的最大值。 这是因为 LCM 不能小于最大数量。 在无限`while`循环(`while(true)`)内,我们检查`lcm`是否完美地划分了`n1`和`n2`。 如果是这样,我们已经找到 LCM。 我们打印 LCM 并使用`break`语句退出`while`循环。 否则,我们将`lcm`加 1,然后重新测试除数条件。 * * * 我们还可以使用 GCD 通过以下公式查找两个数字的 LCM: ```java LCM = (n1 * n2) / GCD ``` 如果您不知道如何用 Java 计算 GCD,请检查 [Java 程序以找到两个数字](/java-programming/examples/hcf-gcd "How to find GCD of two numbers in Java?")的 GCD。 ## 示例 2:使用 GCD 计算 LCM ```java public class LCM { public static void main(String[] args) { int n1 = 72, n2 = 120, gcd = 1; for(int i = 1; i <= n1 && i <= n2; ++i) { // Checks if i is factor of both integers if(n1 % i == 0 && n2 % i == 0) gcd = i; } int lcm = (n1 * n2) / gcd; System.out.printf("The LCM of %d and %d is %d.", n1, n2, lcm); } } ``` 该程序的输出与示例 1 相同。 在这里,在`for`循环内,我们计算两个数字的 GCD - `n1`和`n2`。 计算后,我们使用上面的公式来计算 LCM。