Javascript required
Skip to content Skip to sidebar Skip to footer

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/