Problem: Write a Python program to find the LCM of two numbers.

LCM or Least Common Multiple of any two positive integers is the minimum number that is divisible by both the given numbers. Example LCM of 5 and 6 is 30.

There are multiple methods to find lcm in python. Let’s see an example of each of them.

Method 1: Using While Loop

print("Enter two numbers")
a = int(input())
b = int(input())

greater = a if a > b else b 

while(1):
    if(greater%a == 0) and (greater%b == 0):
        break
    greater += 1
    
print("LCM: ",greater)

Output:

Enter two numbers
8
9
LCM: 72

This method is not so efficient because we are looping from the greater number to the number which is divisible by both the a and b.

We can efficiently solve lcm in python using gcd as shown below.

Method 2: LCM using GCD

For any given two numbers the following relationship holds true:

a * b = LCM * GCD

So we can get LCM using (a*b)/GCD.

Let’s do the same but before that I recommend you check how to calculate the GCD of two numbers in Python.

def findGCD(l, s):
    while(s):
        l, s = s, l%s
    return l
    
print("Enter two numbers")
a = int(input())
b = int(input())

GCD = findGCD(a, b)
LCM = (a*b)/GCD
    
print("LCM: ",LCM)

Output:

Enter two numbers
12
4
LCM: 12.0

In the above method, we are first calculating the GCD of two numbers using Euclidean Algorithm, then we use it in the formula LCM = (a*b)/GCD to compute the LCM of the a and b.

Leave a Reply