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

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 product of elements in union.

An **efficient solution ** is based on 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.

Following is implementation of above idea.

## C

// C program to find LCM of two numbers #include <stdio.h> // Recursive function to return gcd of a and b int gcd(int a, int b) { // base case if (a == b) return a; // a is greater if (a > b) return gcd(a-b, b); return gcd(a, b-a); } // Function to return LCM of two numbers int lcm(int a, int b) { return (a*b)/gcd(a, b); } // Driver program to test above function int main() { int a = 15, b = 20; printf("LCM of %d and %d is %d ", a, b, lcm(a, b)); return 0; }

## Java

// Java program to find LCM of two numbers. class Test { // Recursive method to return gcd of a and b static int gcd(int a, int b) { // Everything divides 0 if (a == 0 || b == 0) return 0; // base case if (a == b) return a; // a is greater if (a > b) return gcd(a-b, b); return gcd(a, b-a); } // method to return LCM of two numbers static int lcm(int a, int b) { return (a*b)/gcd(a, b); } // Driver method public static void main(String[] args) { int a = 15, b = 20; System.out.println("LCM of " + a +" and " + b + " is " + lcm(a, b)); } }

## Python3

# Python program to find LCM of two numbers # Recursive function to return gcd of a and b def gcd(a,b): # base case if a and b are equal if (a == b): return a # if a is greater if (a > b): return gcd(a-b, b) return gcd(a, b-a) # Function to return LCM of two numbers def lcm(a,b): return (a*b) / gcd(a,b) # Driver program to test above function a = 15 b = 20 print('LCM of', a, 'and', b, 'is', lcm(a, b)) # This code is contributed by Danish Raza

Output:

LCM of 15 and 20 is 60

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above