Prerequisite: Recursion in Java

In the previous article, we have discussed about Java Program to Find Even Numbers in an Array by Using Recursion

In this program we are going to see how to find LCM of 2 numbers using Recursion in Java programming language.

## Java Program to Find LCM by Using Recursion

Lets assume 2 numbers A = 10, B=15

Common divisor of 10, 15 = 5

Now, 10/5 = 2 and 15/5 = 3

Hence LCM(10,15) = 5*2*3 = 30

Now let’s see different ways to find find LCM of 2 numbers in an Array by using Recursion.

### Method-1: Java Program to Find LCM By Using Static Input and Recursion

**Approach:**

- Declare and initialize an integer variable ‘
`a`

’ as 10 - Declare and initialize an integer variable ‘
`b`

’ as 15 - Call a user defined method
`calculateLCM()`

and pass the ‘`a`

’,‘`b`

’ as parameter. - Inside the user defined method we will call
`gcd()`

method as “`(a/gcd(a,b))*b`

”. - Inside
`gcd()`

method we will find the gcd of 2 numbers by “`gcd(b % a, a)`

” and return the value to the`calculateLCM()`

method. - Now the value of the user defined method
`calculateLCM()`

is stored in an integer variable say ‘`lcm`

’. - Print the lcm of 2 numbers.

**Program:**

import java.util.*; import java.io.*; public class Main { public static void main(String[] args) { //declare and initialize an integer variable a int a = 10; //declare and initialize an integer variable b int b = 15; //call the method and store the value inside an integer variable say ‘lcm’ int lcm = calculateLCM(a,b); //print the result System.out.println("The LCM of two numbers "+a+", "+b+" is: "+lcm); } //gcd() method static int gcd(int a, int b) { if (a == 0) return b; return gcd(b % a, a); } // method to return LCM of two numbers static int calculateLCM(int a, int b) { return (a / gcd(a, b)) * b; } }

Output: The LCM of two numbers 10, 15 is: 30

### Method-2: Java Program to Find LCM By Using User Input and Recursion

**Approach:**

- Create a scanner class.
- Declare two integer variables say ‘
`a`

’, ‘`b`

’ - Prompt the user to enter the numbers for
`a`

,`b`

respectively. - Call a user defined method
`calculateLCM()`

and pass the ‘`a`

’,‘`b`

’ as parameter. - Inside the user defined method we will call
`gcd()`

method as “`(a/gcd(a,b))*b`

”. - Inside
`gcd()`

method we will find the gcd of 2 numbers by “`gcd(b % a, a)`

” and return the value to the`calculateLCM()`

method. - Now the value of the user defined method
`calculateLCM()`

is stored in an integer variable say ‘`lcm`

’. - Print the lcm of 2 numbers.

**Program:**

import java.util.*; import java.io.*; public class Main { public static void main(String[] args) { // create a scanner class Scanner s = new Scanner(System.in); System.out.println("Enter the 1st number:"); //declare an integer variable ‘a’and initialize it by user input using scanner class. int a = s.nextInt(); System.out.println("Enter the 2nd number:"); //declare an integer variable ‘b’and initialize it by user input using scanner class. int b = s.nextInt(); //call the method and store the value inside an integer variable say ‘lcm’ int lcm = calculateLCM(a,b); //print the result System.out.println("The LCM of two numbers "+a+", "+b+" is: "+lcm); } //gcd() method static int gcd(int a, int b) { if (a == 0) return b; return gcd(b % a, a); } // method to return LCM of two numbers static int calculateLCM(int a, int b) { return (a / gcd(a, b)) * b; } }

Output: Enter the 1st number: 78 Enter the 2nd number: 97 The LCM of two numbers 78, 97 is: 7566

Don’t stop learning now. Get hold of all the important Java fundamentals with the Simple java program example guide and practice well.

**Related Java Programs:**