×

LCM Program in C++

What is LCM?

LCM is an acronym for "least common multiple". It is used to discover the lowest positive integer divisible by all integers (whose LCM is calculated). For instance, the LCM of 3 and 4 is 12, as shown by:

LCM(3,4) = 12

As you can see, the numbers 3 and 4 are divisors of 12.

LCM stands for "Least Common Multiple" and Least Common Divisor (LCD), both have the same meaning, which is to discover a number that is divisible by the provided integers (whose LCM is to be calculated).

Finding LCM of two numbers in C++:

In C++ language, you must ask the user to provide the two integers to determine the LCF. Then, as illustrated in the software below, locate and print its LCM on output.

LCM stands for Lowest Common Multiple, often known as Least Common Divisor. Consider the case of two numbers, say 4 and 5. Then 20 is the Least Common Divisor. That is, the numbers 4 and 5 divide 20 evenly without any residue (or leaving the remainder 0).

Algorithm for the LCM of two numbers in C++:

Step 1: Take num1 and num2 as inputs from the user.

Step 2: In the max variable, keep the lowest common multiple of num1 and num2.

Step 3: Check if the max variable is divisible by num1 and num2, then output the max as the LCM of two values.

Step 4: If not, the max value is incremented by 1 with each iteration, and the max variable's divisibility is checked in step 3.

Step 5: Close the application.

Finding LCM of two numbers:

In the following program, we will use if and else statements and while loop to find the LCM of two numbers.

Example:

#include<iostream>
using namespace std;
int main()
{
    Int num1, num2, n;
    cout<<"Enter the Two Numbers: ";
    cin>>num1>>num2;
    if(num1>num2)
        n = num1;
    else
        n = num2;
    while(1)
    {
        if((n%num1 == 0) && (n%num2 == 0))
            break;
        else
            n++;
    }
    cout<<"\nCM ("<<num1<<", "<<num2<<") = "<<n;
    cout<<endl;
    return 0;
}

Output:

Enter the Two Numbers:4

5

LCM(4,5)=20

Explanation:

The following is the main rationale behind the program:

N is initialized with the bigger number. When 1 is used as a condition in a while loop, it always returns true. As a result, this loop will continue to execute until the break keyword is used. When both the if (within while loop) condition and the break keyword evaluate to true, the break keyword is performed. When entering the body of the while loop, an if condition is performed, which checks if the value in n is divisible by both numbers. If the number is divisible, use the break keyword to terminate the loop. Otherwise, increase its value and check again with next.

Finding LCM of two numbers using the HCF:

In C++, we may use HCF(highest Common Factor) or GCD(Greatest Common Divisor) to calculate the LCM of two numbers. To do so, we must apply the formula below: HCF(x,y) and LCM are equivalent when two numbers x and y are added together (x,y).

HCF(x,y) * LCM = x*y (x,y)
or
LCM(x,y) = (x*y) / HCF(x,y)

To find the LCM of two integers in C++, use the program below. We determine the HCF first, then compute the LCM using the technique above.

Example:

#include<iostream>
using namespace std;
int main()
{
  // declaring variables
  int numOne, numTwo, hcf, tmp, lcm;


  // taking the input
  cout << "Enter the two Integers: ";
  cin >> numOne >> numTwo;


  // assigning the values
  hcf = numOne;
  tmp = numTwo;


  // calculating the value of HCF
  while (hcf != tmp)
  {
    ( hcf > tmp ) ? (hcf -= tmp) : (tmp -= hcf);
  }


  // calculate the value of LCM
  lcm = (numOne * numTwo) / hcf;


  // displaying the result
  cout << "LCM = " << lcm << endl;


  return 0;
}

Output:

Enter the two Integers: 3

4

LCM = 12

Explanation:

In the above example, in the main() function we first declared the int variables numOne, numTwo, tmp , hcf and lcm. The input values of the two numbers numOne and numTwo were taken and the values were assigned to the variables hcf and tmp. Then using a formula, the value of hcf was found and then value of lcm was found too. Hence, the required output was printed.

Finding LCM of the two numbers using Recursion:

The recursion approach may also be used to get the lcm of two integers. Recursion is a means of defining a method or function that includes a call to itself.

The recursive function/method helps us to break down a big problem into readily manageable single basic situations. Divide and conquer is a very well know computer programming strategy.

Example:

#include<iostream>
using namespace std;


// defining a global variable
static int cmmn;


//declaring the function
long lcm(int, int);


// calling main function
int main()
{
  // declaring the variables
  int numOne, numTwo;


  // taking the input
  cout << "Enter the two Integers: ";
  cin >> numOne >> numTwo;


  // displaying the result
  cout << "LCM = " << lcm(numOne, numTwo) << endl;


  return 0;
}


// function for finding the value of LCM
long lcm(int nOne, int nTwo)
{
  // increased cmmn
  cmmn += nTwo;
  if(cmmn % nOne == 0)
     return cmmn; // base-case
  else
     return lcm(nOne, nTwo); //general-case
}

Output:

Enter the two Integers: 5

6

LCM = 30

Explanation:

In the above example, we used the recursion aSpproach to find the LCM of two numbers. A global variable cmmn of int datatype was defined. Then we declared a function lcm() with two int values and called the main() function. The Two variables numOne and numTwo were declared and were used to receive values from the user. When the function lcm() was called, an if-else loop was run with respective conditions for calculating the LCM. Hence, the required output was printed.


Related Topics

Top best IDEs for C/C++ Developers in 2024

Nothing in the current digital world is conceivable without programming. Everything needs programming, from the cell phones in our pockets to self-driving cars. Programming is also necessary for the mouse...

9 minutes read.

Pointers in C++

Pointers are a powerful feature in the C++ programming language, allowing developers to directly manipulate memory addresses and create more efficient and dynamic programs. However, pointers can also source various...

3 minutes read.

fscanf() Function in the C++

In the C++ programming language, the fscanf() method can be used to read data from a file stream. Syntax: The syntax for the fscanf() function in the C++ programming language is as...

3 minutes read.

C++ Forward Iterators

Iterators : Iterators serve as a link between algorithms and STL containers, allowing the data inside the container to be modified. They let you to iterate through the container, access and...

3 minutes read.

Multiple Inheritance

C++ Multiple Inheritance Multiple inheritance is such an inheritance in which a derived class inherits properties of more than one base class.     C++ Multiple Inheritance Example In this example, two base classes Square and...

2 minutes read.

C++ String Concatenation

C++ String Concatenation In this section, we will learn about C ++ String Concatenation, what it does, how it works, and will also see its programs. What is the String Concatenation? The + operator...

3 minutes read.

Top 14 Best Free C++ IDE (Editor & Compiler) for Windows in 2024

Bjarne Stroustrup created the all-purpose object-oriented programming language C++. To develop C++ programs, there are various Integrated Development Environments (IDE) that offer prewritten code templates. These programs automatically modify the...

6 minutes read.

Palindrome using For loop in C++

A palindrome is a word, number, phrase, or other sequence of letters that reads the same backward as forward, such as 101 or MOM. Like other programming languages, C++ also allows...

6 minutes read.

Array of sets in C++

Instead of defining distinct variables for each item, arrays are used to hold numerous values in a single variable. A collection of data objects stored in a continuous way is...

6 minutes read.

Tensorflow in C++

With cppflow, you can execute TensorFlow models in C++ without Bazel, TensorFlow installation, or TensorFlow compilation. Tensor manipulation, eager execution, and running stored models straight from C++ are all possible. Knowing...

7 minutes read.

C++ cin and cout

In this article, we will discuss the C++ cin and cout with their library and examples. C++ Standard Input/Output: User-program communication is made possible by C++’s usage of input and output (I/O)...

5 minutes read.

C++ Mutable keyword

C++ mutable keyword Mutable class storage specifier in C++ Storage class specifiers in C are auto, register, static, and external. Typedef is also considered as a specifier of the storage...

4 minutes read.

Object Slicing in C++

In this article, we will learn about Object slicing. When an object from a derived class is assigned to an object from a base class in C++, these extra attributes...

3 minutes read.

Backtracking Time Complexity in C++

Introduction to Backtracking Backtracking is an important part of programming languages, and with the help of backtracking, we can do many operations in an advanced data structure. For doing major operations,...

4 minutes read.

Message Passing in C++

The act of sending and receiving information by an object is referred to as communication, and all communication between objects that takes place via message is known as message passing....

1 minute read.

Stack in C++

Stack: The stack is a very popular data structure. It is the form of data structure that follows a particular order called FIFO(First-In-First-Out). In simple words, a stack is an Abstract...

4 minutes read.

C++ vs C#

What exactly is C++ programming? Bjorne Stroustrup is the creator of the C++ programming language. His goal was to create a powerful object-oriented programming language with the capabilities of C. It...

4 minutes read.

C++ Program to find the largest number formed from an array

Given an array, write a program to find the largest number that will be formed from the elements of the array. Arrangement should be done in such a way that...

4 minutes read.

Is it fine to write void main() or main() in C/C++?

In C programming language: The default function return type in the C programming language is "int," which implies that main() will always return an integer value. In C, the void main()...

3 minutes read.

C++ File Handling

File handling is a mechanism that manipulates the data stored in files. File handling store output data from the program to external file and read file data to the program. There...

3 minutes read.