Last Updated: 12 Apr, 2022

Ninja And The LCM

Easy
Asked in companies
D.E.ShawCarWaleArista Networks

Problem statement

Ninja has given two numbers ‘X’ and ‘Y’. He has to find the LCM of these two numbers.

LCM (Least Common Multiple) of two numbers is the smallest number that can be divisible by both numbers.

As you are his big brother. So help Ninja in calculating the LCM.

EXAMPLE:
Input: 'X' = 2,  ‘Y’=3

Output: "6"

As “6” is the smallest number that is divisible by both 2 and 3.
Input Format :
The first line will contain the integer 'T', denoting the number of test cases.

Each test case contains two space-separated integers ‘X’ and ‘Y’ 
Output format :
For each test case, print the LCM of given integers ‘X’ and ‘Y’.
Note :
You don't need to print anything. It has already been taken care of. Just implement the given function.
Constraints :
1 <= 'T' <= 1000
1 <= ‘X’ , ‘Y’ <= 10^9
Time Limit: 1 sec

Approaches

01 Approach

Approach: 

 

We will remove the common factors from both of them, which means that we will remove the GCD ( Greatest Common Divisor ) by dividing them by their gcd. Then they will become the co-prime numbers.

 

And LCM of two co-prime numbers is their multiplication. Then we will multiple again with gcd to get the final LCM.

 

So LCM (X, Y) = (X/GCD(X,Y) * (Y/GCD(X,Y) * GCD(X,Y). 

 

On simplify LCM(X,Y) = X * Y/GCD(X,Y). 

 

We can calculate the GCD of two numbers with the ‘ Euclidean algorithm ’, which says that:

 

GCD(A, B) = A if B == 0, else GCD(A, B) = GCD(B, A%B).


 

Algorithm :  

 

  • Find GCD of given numbers using recursion and store it in variable ‘G’.
    • Let function is GCD(X,Y)
    • Then if ‘Y’ ==0 return ‘X’
    • Else return GCD(Y, X%Y).
  • Now return X * Y/G.