Java Topics
- Java Intro
- Java String Methods
- Java Interview Programs
- Abundant Number
- Amicable Number
- Armstrong Number
- Average of N Numbers
- Automorphic Number
- Biggest of three numbers
- Binary to Decimal
- Common Divisors
- Composite Number
- Condense a Number
- Cube Number
- Decimal to Binary
- Decimal to Octal
- Disarium Number
- Even Number
- Evil Number
- Factorial of a Number
- Fibonacci Series
- GCD
- Happy Number
- Harshad Number
- LCM
- Leap Year
- Magic Number
- Matrix Addition
- Matrix Division
- Matrix Multiplication
- Matrix Subtraction
- Matrix Transpose
- Maximum Value of an Array
- Minimum Value of an Array
- Multiplication Table
- Natural Number
- Number Combination
- Odd Number
- Palindrome Number
- Pascalβs Triangle
- Perfect Number
- Perfect Square
- Power of 2
- Power of 3
- Pronic Number
- Prime Factor
- Prime Number
- Smith Number
- Strong Number
- Sum of Array
- Sum of Digits
- Swap Two Numbers
- Triangular Number
- Java Star Pattern
- Java Number Pattern
- Java Alphabet Pattern
Java Program to find LCM
Photo Credit to CodeToFun
π Introduction
In the domain of programming, solving mathematical problems is a common and necessary task. One such problem is finding the Least Common Multiple (LCM) of two numbers.
The LCM is the smallest positive integer that is divisible by both numbers without leaving a remainder.
In this tutorial, we'll explore a Java program that efficiently finds the LCM of two given numbers.
The program uses the relationship between the greatest common divisor (GCD) and the LCM.
π Example
Let's dive into the Java code to achieve this functionality.
public class LCMProgram {
// Function to find the GCD of two numbers
static int findGCD(int num1, int num2) {
while (num2 != 0) {
int temp = num2;
num2 = num1 % num2;
num1 = temp;
}
return num1;
}
// Function to find the LCM of two numbers
static int findLCM(int num1, int num2) {
// LCM = (num1 * num2) / GCD(num1, num2)
int gcd = findGCD(num1, num2);
return (num1 * num2) / gcd;
}
// Driver program
public static void main(String[] args) {
// Replace these values with your desired numbers
int number1 = 12;
int number2 = 18;
// Call the function to find the LCM
int lcm = findLCM(number1, number2);
System.out.println("LCM of " + number1 + " and " + number2 + " is: " + lcm);
}
}
π» Testing the Program
To test the program with different numbers, replace the values of number1 and number2 in the main method.
LCM of 12 and 18 is: 36
Compile and run the program to see the LCM in action.
π§ How the Program Works
- The program defines a class LCMProgram containing static methods findGCD and findLCM.
- The findGCD method calculates the Greatest Common Divisor (GCD) of two numbers using the Euclidean algorithm.
- The findLCM method uses the GCD to find the LCM using the relationship: LCM = (num1 * num2) / GCD(num1, num2).
- The driver program in the main method sets the values of number1 and number2, calls the findLCM method, and prints the result.
π§ Understanding the Concept of LCM
Before delving into the code, let's take a moment to understand the concept of the Least Common Multiple (LCM).
The LCM of two numbers is the smallest positive integer that is divisible by both numbers without leaving a remainder.
For example, consider the numbers 12 and 18. The multiples of 12 are 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, ... The multiples of 18 are 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, ... The LCM of 12 and 18 is 36.
π’ Optimizing the Program
While the provided program is effective, there are more efficient algorithms for finding the LCM. Consider exploring and implementing optimized algorithms such as the prime factorization method.
Feel free to incorporate and modify this code as needed for your specific use case. Happy coding!
π¨βπ» Join our Community:
Author
For over eight years, I worked as a full-stack web developer. Now, I have chosen my profession as a full-time blogger at codetofun.com.
Buy me a coffee to make codetofun.com free for everyone.
Buy me a Coffee
If you have any doubts regarding this article (Java Program to find LCM), please comment here. I will help you immediately.