How to Find the Lcm of Two Numbers
LCM (Least Common Multiple) of two numbers is the smallest number which can be divided by both numbers.
Attention reader! All those who say programming isn't for kids, just haven't met the right mentors yet. Join the Demo Class for First Step to Coding Course,specificallydesigned for students of class 8 to 12.
The students will get to learn more about the world of programming in thesefree classes which will definitely help them in making a wise career choice in the future.
For example, LCM of 15 and 20 is 60, and LCM of 5 and 7 is 35.
A simple solution is to find all prime factors of both numbers, then find union of all factors present in both numbers. Finally, return the product of elements in union.
An efficient solution is based on the below formula for LCM of two numbers 'a' and 'b'.
a x b = LCM(a, b) * GCD (a, b) LCM(a, b) = (a x b) / GCD(a, b)
We have discussed function to find GCD of two numbers. Using GCD, we can find LCM.
Below is the implementation of the above idea:
C++
#include <iostream>
using
namespace
std;
long
long
gcd(
long
long
int
a,
long
long
int
b)
{
if
(b == 0)
return
a;
return
gcd(b, a % b);
}
long
long
lcm(
int
a,
int
b)
{
return
(a / gcd(a, b)) * b;
}
int
main()
{
int
a = 15, b = 20;
cout <<
"LCM of "
<< a <<
" and "
<< b <<
" is "
<< lcm(a, b);
return
0;
}
C
#include <stdio.h>
int
gcd(
int
a,
int
b)
{
if
(a == 0)
return
b;
return
gcd(b % a, a);
}
int
lcm(
int
a,
int
b)
{
return
(a / gcd(a, b)) * b;
}
int
main()
{
int
a = 15, b = 20;
printf
(
"LCM of %d and %d is %d "
, a, b, lcm(a, b));
return
0;
}
Java
class
Test
{
static
int
gcd(
int
a,
int
b)
{
if
(a ==
0
)
return
b;
return
gcd(b % a, a);
}
static
int
lcm(
int
a,
int
b)
{
return
(a / gcd(a, b)) * b;
}
public
static
void
main(String[] args)
{
int
a =
15
, b =
20
;
System.out.println(
"LCM of "
+ a +
" and "
+ b +
" is "
+ lcm(a, b));
}
}
Python3
def
gcd(a,b):
if
a
=
=
0
:
return
b
return
gcd(b
%
a, a)
def
lcm(a,b):
return
(a
/
gcd(a,b))
*
b
a
=
15
b
=
20
print
(
'LCM of'
, a,
'and'
, b,
'is'
, lcm(a, b))
C#
using
System;
class
GFG {
static
int
gcd(
int
a,
int
b)
{
if
(a == 0)
return
b;
return
gcd(b % a, a);
}
static
int
lcm(
int
a,
int
b)
{
return
(a / gcd(a, b)) * b;
}
public
static
void
Main()
{
int
a = 15, b = 20;
Console.WriteLine(
"LCM of "
+ a +
" and "
+ b +
" is "
+ lcm(a, b));
}
}
PHP
<?php
function
gcd(
$a
,
$b
)
{
if
(
$a
== 0)
return
$b
;
return
gcd(
$b
%
$a
,
$a
);
}
function
lcm(
$a
,
$b
)
{
return
(
$a
/ gcd(
$a
,
$b
)) *
$b
;
}
$a
= 15;
$b
= 20;
echo
"LCM of "
,
$a
,
" and "
,
$b
,
" is "
, lcm(
$a
,
$b
);
?>
Javascript
<script>
function
gcd(a, b)
{
if
(b == 0)
return
a;
return
gcd(b, a % b);
}
function
lcm(a, b)
{
return
(a / gcd(a, b)) * b;
}
let a = 15, b = 20;
document.write(
"LCM of "
+ a +
" and "
+ b +
" is "
+ lcm(a, b));
</script>
Output
LCM of 15 and 20 is 60
Time Complexity: O(log(max(a,b))
Auxiliary Space: O(log(max(a,b))
https://youtu.be/anSfYgbo694
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
How to Find the Lcm of Two Numbers
Source: https://www.geeksforgeeks.org/program-to-find-lcm-of-two-numbers/