C++ Program to Find the LCM of two numbers (3 Ways)
In this program, we will learn how to find the LCM of two numbers using the C++ programming language.
What is LCM?
it stands for Least Common Multiple. It can be found for two or more numbers by making multiple of the numbers and then choosing the least common multiple.
Let’s take the example of 3 and 4.
Multiple of 3 : 3, 6, 9, 12, 15, 18, 21, 24,…….
Multiple of 4 : 4, 8, 12, 16, 20, 24, 28,…..
So, common multiple of 3 and 4 is 12, 24 and Least Common Multiple is 12.
Hence, LCM of 3 and 4 is 12.
We will discuss three ways to write code for it.
- Using the loop
- Using the GCD or HCF
- Using the Recursion
C++ Programming Code to Find the LCM of two numbers
Using the loop
In this program, I have used the while loop to find the least common multiple of both the numbers.
Code:-
#include <iostream> using namespace std; int main() { int num1, num2, lcm, mul; cout << "Enter the first number: "; cin >> num1; cout << "Enter the second number: "; cin >> num2; lcm = (num1 > num2) ? num1 : num2; while(true) { if( lcm%num1 == 0 && lcm%num2 == 0 ) { cout << "The LCM of " << num1 << " and " << num2 << " is " << lcm << endl; break; } lcm += lcm; } return 0; }
Output:-
Enter the second number: 6
The LCM of 27 and 6 is 54
Using the GCD or HCF
In this program, I have used a mathematical formula.
Product of LCM and HCF is equal to product of the numbers.
I have already discussed how to find the GCD of the numbers. You can learn all the ways to do it.
Code:-
#include <iostream> using namespace std; int getGCD(int num1, int num2){ int gcd; for(int i=1; i <= num1 && i <= num2; ++i){ if(num1 % i == 0 && num2 % i == 0) gcd = i; } return gcd; } int main(){ int num1, num2, gcd, lcm; cout << "Enter the first number: "; cin >> num1; cout << "Enter the second number: "; cin >> num2; gcd = getGCD(num1, num2); lcm = (num1 * num2) / gcd; cout << "The LCM of " << num1 << " and " << num2 << " is " << lcm << endl; return 0; }
Output:-
Enter the second number: 33
The LCM of 81 and 33 is 891
Using the Recursion
In this program, I have used the findLCM() recursive function.
Code:-
#include <iostream> using namespace std; int findLCM(int x, int y); int main(){ int num1, num2, lcm; cout << "Enter the first number: "; cin >> num1; cout << "Enter the second number: "; cin >> num2; if(num1 > num2) lcm = findLCM(num2, num1); else lcm = findLCM(num1, num2); cout << "The LCM of " << num1 << " and " << num2 << " is " << lcm << endl; return 0; } int findLCM(int x, int y){ static int multiple = 0; multiple += y; if((multiple % x == 0) && (multiple % y == 0)){ return multiple; } else{ return findLCM(x, y); } }
Output:-
Enter the second number: 9
The LCM of 6 and 9 is 18
You can learn about many other C++ Programs Here.
Best Books for learning C++ programming language with Data Structure and Algorithms.
Amit Rawat
Latest posts by Amit Rawat (see all)
- Python Program to Print the Fibonacci Sequence (2 ways) - April 7, 2020
- Python Program to Display or Print Prime Numbers Between a Range or an Interval - June 18, 2019
- Python Program To Print Pascal’s Triangle (2 Ways) - June 17, 2019