LCM of Two Numbers in C
Last Updated :
26 Feb, 2024
In this article, we will learn how to write a C program to find the LCM of two numbers. LCM (Least Common Multiple) of two numbers is the smallest positive number that can be divided by both numbers without leaving a remainder. For example, the LCM of 15 and 25 is 75.
Algorithm to Find LCM in C
- Find the maximum of the two numbers and store them in a variable max.
- Run a loop and check if max is divisible by both numbers.
- if (max % x == 0 && max % y == 0)
- If the condition is true, it means that max is the LCM of the two numbers.
- If the condition is false, increment max by 1 and continue the loop to check the next number.
C Program To Find LCM of Two Numbers
C
#include <stdio.h>
int main()
{
int x = 15, y = 25, max;
max = (x > y) ? x : y;
while (1) {
if (max % x == 0 && max % y == 0) {
printf ( "The LCM of %d and %d is %d." , x, y,
max);
break ;
}
++max;
}
return 0;
}
|
Output
The LCM of 15 and 25 is 75.
Complexity Analysis
- Time complexity: O(x*y)
- Auxiliary space: O(1)
LCM of Two Numbers using GCD
In mathematics, the LCM of two numbers is the product of two numbers divided by their GCD. So,
LCM(a, b) = (a x b) / GCD(a, b)
Refer to the article Program to Find GCD or HCF of Two Numbers to learn how to find the GCD of two numbers.
C Program To Find LCM of Two Numbers using GCD
C++
#include <iostream>
using namespace std;
long long gcd( long long int a, long long int b)
{
if (b == 0)
return a;
return gcd(b, a % b);
}
long long lcm( int a, int b) { return (a / gcd(a, b)) * b; }
int main()
{
int a = 15, b = 20;
cout << "LCM of " << a << " and " << b << " is "
<< lcm(a, b);
return 0;
}
|
Output
LCM of 15 and 20 is 60
Complexity Analysis
- Time complexity: O(log(min(a, b)))
- Auxiliary space: O(1)
Please refer to the complete article Program to find LCM of two numbers for more methods to find LCM of two numbers.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...