多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# C++ 程序:查找 LCM > 原文: [https://www.programiz.com/cpp-programming/examples/lcm](https://www.programiz.com/cpp-programming/examples/lcm) #### 使用循环和决策语句来计算两个整数的 LCM(最小公倍数)的不同方法的示例。 要理解此示例,您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题: * [C++ `if`,`if...else`和嵌套`if...else`](/cpp-programming/if-else) * [C++ `while`和`do...while`循环](/cpp-programming/do-while-loop) * * * 两个整数`a`和`b`的 LCM 是可被`a`和`b`整除的最小正整数。 * * * ### 示例 1:查找 LCM ```cpp #include <iostream> using namespace std; int main() { int n1, n2, max; cout << "Enter two numbers: "; cin >> n1 >> n2; // maximum value between n1 and n2 is stored in max max = (n1 > n2) ? n1 : n2; do { if (max % n1 == 0 && max % n2 == 0) { cout << "LCM = " << max; break; } else ++max; } while (true); return 0; } ``` **输出** ```cpp Enter two numbers: 12 18 LCM = 36 ``` 在上述程序中,要求用户对两个整数`n1`和`n2`进行整数运算,并将这两个数字中的最大值存储在`max`中。 检查`max`是否可被`n1`和`n2`整除,如果两个数均可以整除`max`(包含 LCM) 打印并终止循环。 如果不是,则将`max`的值加 1,然后继续相同的过程,直到`max`被`n1`和`n2`整除。 * * * ### 示例 2:使用 HCF 查找 LCM 两个数字的 LCM 由下式给出: ```cpp LCM = (n1 * n2) / HCF ``` 访问此页面以了解:[如何在 C++ 中计算 HCF?](/cpp-programming/examples/hcf-gcd "C++ HCF") ```cpp #include <iostream> using namespace std; int main() { int n1, n2, hcf, temp, lcm; cout << "Enter two numbers: "; cin >> n1 >> n2; hcf = n1; temp = n2; while(hcf != temp) { if(hcf > temp) hcf -= temp; else temp -= hcf; } lcm = (n1 * n2) / hcf; cout << "LCM = " << lcm; return 0; } ```