Summary: In this programming example, we will learn to calculate the lcm of two numbers using the C language.

The LCM (Least Common Multiple) of any two numbers is the smallest possible integer that is divisible by both.

For example, lcm of 6 and 15 is 30.

Also, the LCM of any two number is always greater or equal to one of them.

Method 1: Using While Loop

#include <stdio.h>
int main() {
    int a, b;
    printf("Enter two numbers \n");
    scanf("%d", &a);
    scanf("%d", &b);
    
    /*
        *LCM is always greater than or equal to the-
        *maximum of the given two numbers
    */
    int lcm = (a > b) ? a : b;
    
    //loop until divisible by both 
    while(1){
        if(lcm%a==0 && lcm%b==0)
            break;
        lcm++;
    }
    
    //output the LCM
    printf("LCM of %d and %d is: %d", a, b, lcm);
    return 0;
}

Output:

Enter two numbers
6
15
LCM of 6 and 15 is: 30

In this method, we first store the maximum of the two numbers into the lcm and inside while loop, we check if the lcm is divisible by both the numbers or not.

If yes, then the current value of lcm is the LCM of the input numbers otherwise we increment the value of lcm (i.e. lcm++) and repeat the process until lcm is divisible by both.

Method 2: Using GCD

For any two numbers a and b, the following relationship holds true:

a * b = LCM * GCD

So we can also get LCM of any two numbers using the formula (a*b)/GCD.

#include <stdio.h>

//function to find the GCD of two numbers
int findGCD(int a, int b){
    int temp;
    while(b){
        temp = b;
        b = a%b;
        a = temp;
    }
    return a;
}

//main method
int main() {
    int a, b;
    printf("Enter two numbers \n");
    scanf("%d", &a);
    scanf("%d", &b);
    
    //Step 1: First find GCD
    int gcd = findGCD(a, b);
    //Step 2: Put Value of GCD in the formula
    int lcm = (a*b)/gcd;
    
    //output the LCM
    printf("LCM of %d and %d is: %d", a, b, lcm);
    return 0;
}

Output:

Enter two numbers
5
15
LCM of 5 and 15 is: 15

In this tutorial, we learned to find the LCM of two numbers using the C programming language.

Leave a Reply

19 − 4 =