C++ Tutorial Index

C++ Tutorial C++ History C++ Installation C++ First Program C++ cin and cout C++ Data type C++ Variable C++ operator C++ Keywords

C++ Control Statements

C++ If C++ Nested if C++ If-else C++ If-else-if C++ Switch C++ Break C++ Continue C++ Goto C++ For loop C++ While loop C++ Do while loop

C++ Functions

C++ Call by Value C++ Call by Reference C++ Recursion Function C++ Inline function C++ Friend function

C++ Arrays

Single dimension array Two dimension array

C++ Strings

C++ Strings

C++ Inheritance

C++ Inheritance Single level Inheritance Multilevel Inheritance Multiple Inheritance Hierarchical Inheritance Hybrid Inheritance

C++ Polymorphism

C++ Polymorphism C++ Overloading C++ Overriding C++ Virtual Function

C++ Pointers

C++ Pointers C++ this pointer

C++ Exception Handling

C++ Exception Handling

C++ Constructors

C++ Constructors Default Constructor Parameterize Constructor Copy constructor Constructor Overloading Destructor

C++ File Handling

C++ File Handling C++ Writing to file C++ Reading file C++ Close file

Miscellaneous

C Vs C++ C++ Comments C++ Data Abstraction C++ Identifier C++ Memory Management C++ Storage Classes C++ Void Pointer C++ Array To Function C++ Expressions C++ Features C++ Interfaces C++ Encapsulation std::min in C++ External merge sort in C++ Remove duplicates from sorted array in C++ Precision of floating point numbers Using these functions floor(), ceil(), trunc(), round() and setprecision() in C++ C++ References C++ Friend Functions C++ Mutable keyword Unary Operators in C++ Initialize Array of objects with parameterized constructors in C++ Differences between #define & const in C/C++ C++ Program to Implement Shell Sort C++ Program to Implement Merge Sort Storage Classes in C Vector resize() in C++ Passing by Reference Vs. Passing by the pointer in C++ Free vs delete() in C++ goto statement in C and C++ C++ program to read string using cin.getline() C++ String Concatenation Heap Sort in C++ Swap numbers in C++ Input Iterators in C++ Fibonacci Series in C++ C ++ Program: Alphabet Triangle and Number Triangle C++ Program: Matrix Multiplication C++ Program to Print Fibonacci Triangle Stack in C++ Maps in C++ Queue in C++ C++ Bitset C++ Algorithms Priority Queue in C++ C++ Multimap C++ Deque Function Pointer in C++ Sizeof() Operators in C++ C++ array of Pointers free() Vs delete in C Timsort Implementation Using C++ CPP Templates C++ Aggregation C++ Enumeration C++ Math Functions C++ Object Class C++ Queue Initialize Vector in C++ Vector in C++ C++ STL Components Function overloading in C++ C++ Maximum Index Problem C++ find missing in the second array C++ Program to find the product array puzzle C++ Program To Find Largest Subarray With 0 Sum C++ Program To Move All Zeros To The End Of The Array C++ Program to find the element that occurs once C++ Program to find the largest number formed from an array Constructor Vs Destructor C++ Namespaces C++ OOPs Concept C++ Static C++ Structs C++ Try-Catch C++ User Defined Exceptions C++ Virtual Destructor C++ vs C# Malloc() and new in C++ Palindrome Number Program in C++ Snake Code in C++ Splitting a string in C++ Structure Vs Class in C++ Virtual Function Vs Pure Virtual Function C++ Bidirectional Iterators C++ Forward Iterators C++ Iterators C++ Output Iterators C++ Range-based For Loop Converting string into integer in C++ LCM Program in C++ Type conversion in C++ Add two numbers using the function in C++ Advantage and disadvantage friend function C++ Armstrong Number Program in C++ ATM machine program in C++ using functions Binary to Decimal in C++ Bit Manipulation in C++ C++ Constructor C++ Dijkstra Algorithm Using the Priority Queue C++ int into String C++ Signal Handling Decimal to Binary in C++ Decimal to Hexadecimal in C++ Decimal to Octal in C++ Factorial Program in C++ Function in C++ Hexadecimal to Decimal in C++ Octal to Decimal in C++ Reverse a Number in C++ Structure Vs Class in C++ C++ Forward Iterators C++ Output Iterators C++ Prime number program Char Array to String in C++ Constructor Overloading in C++ Default arguments in C++ Different Ways to Compare Strings in C++ Dynamic Binding in C++ Program to convert infix to postfix expression in C++ SET Data Structure in C++ Upcasting and Downcasting in C++ Reverse an Array in C++ Fast Input and Output in C++ Delete Operator in C++ Copy elision in C++ C++ Date and Time C++ Bitwise XOR Operator Array of sets in C++ Binary Operator Overloading in C++ Binary Search in C++ Implementing the sets without C++ STL containers Scope Resolution Operator in C++ Smart pointers in C++ Types of polymorphism in C++ Exception Handling in C++ vs Java Const Keyword in C++ Type Casting in C++ Static keyword in C++ vs Java Inheritance in C++ vs Java How to concatenate two strings in C++ Programs to Print Pyramid Patterns in C++ swap() function in C++ Structure of C++ Program Stringstream in C++ and its applications rand() and srand() in C / C++ C++ Ternary Operator C++ Scope of Variables While Loop Examples in C++ Star pattern in C++ using For Loops For Loop Examples in C++ Do-While Loop Examples in C++ Top 5 IDEs for C++ That You Should Try Once Assertions in C/C++ C++ Convert Int to String Continue in C++ While loop Diamond Pattern in C++ using For Loop How to Reverse a String in C++ using Do-While Loop How to Reverse a String in C++ using For Loop How to Reverse a String in C++ using While Loop Infinite loop in C++ Loops in C++

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.



ADVERTISEMENT
ADVERTISEMENT