LCM of two integers `a` and `b` is the smallest positive integer that is divisible by both `a` and `b`.

### Example 1: Find LCM

```
#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;
}
```

**Output**

Enter two numbers: 12 18 LCM = 36

In above program, user is asked to integer two integers `n1` and `n2` and largest of those two numbers is stored in `max`.

It is checked whether `max` is divisible by `n1` and `n2`, if it's divisible by both numbers, `max `(which contains LCM) is printed and loop is terminated.

If not, value of `max` is incremented by 1 and same process goes on until `max `is divisible by both `n1` and `n2`.

### Example 2: Find LCM using HCF

The LCM of two numbers is given by:

LCM = (n1 * n2) / HCF

Visit this page to learn: How to compute HCF in C++?

```
#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;
}
```