C Topics
- C Intro
- C Control Statement
- C Control Loops
- C String Functions
- C Math Functions
- C Header Files
- C 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
- Power of 2
- Power of 3
- Pronic Number
- Perfect Number
- Perfect Square
- Prime Factor
- Prime Number
- Smith Number
- Strong Number
- Sum of Array
- Sum of Digits
- Swap Two Numbers
- Triangular Number
- C Star Pattern
- C Number Pattern
- C Alphabet Pattern
C 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 will walk through a straightforward yet effective C program to find the LCM of two numbers.
The logic behind this program involves utilizing the relationship between the greatest common divisor (GCD) and the LCM.
π Example
Let's delve into the C code to achieve this functionality.
#include <stdio.h>
// Function to find the GCD of two numbers
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
int findLCM(int num1, int num2) {
// LCM = (num1 * num2) / GCD(num1, num2)
int gcd = findGCD(num1, num2);
return (num1 * num2) / gcd;
}
// Driver program
int main() {
// 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);
printf("LCM of %d and %d is: %d\n", number1, number2, lcm);
return 0;
}
π» Testing the Program
To test the program with different numbers, replace the values of number1 and number2 in the main function.
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 function findGCD to calculate the Greatest Common Divisor (GCD) of two numbers using the Euclidean algorithm.
- The function findLCM uses the GCD to find the LCM using the relationship: LCM = (num1 * num2) / GCD(num1, num2).
- The driver program in the main function sets the values of number1 and number2, calls the findLCM function, 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 (C Program to find LCM) please comment here. I will help you immediately.