C program to find LCM of two numbers


In this example, you will learn two ways of calculating LCM (Lowest Common Multiple) of two integers entered by the user (C program to find LCM of two numbers).

C program to calculate LCM

LCM : Lowest Common Multiple of two or more integers is the smallest positive integer that is perfectly divisible by the given integers, without remainder.

For example: LCM of 10 and 20 is 20.

C program to calculate LCM of two numbers

#include <stdio.h>

int main()
{
   int num1, num2, maxValue;

   printf("Enter two numbers: ");
   scanf("%d %d", &num1, &num2);
   //largest integer among num1 and num2 is stored in maxValue
   maxValue = (num1 > num2) ? num1 : num2;

   while(1)  //always true
   {
      if ((maxValue % num1 == 0) && (maxValue % num2 == 0))
      {
         printf("LCM: %d", maxValue);
         break;
      }
      ++maxValue;
   }
   return 0;
}

Output
C program to find LCM of two numbers

C program to find LCM of two numbers using GCD

We can also calculate LCM using GCD.
Formula

LCM = (num1 * num2) / GCD

See how to calculate GCD

The above formula can be used to calculate LCM.

#include <stdio.h>
int main()
{
   int num1, num2, i, gcd, lcm;

   printf("Enter two numbers: ");
   scanf("%d %d", &num1, &num2);
   
   //calculation of gcd
   for(i=1; i <= num1 && i <= num2; ++i)
   {
      if(num1 % i == 0 && num2 % i == 0)
         gcd = i;
   }
   //calculation of lcm using gcd
   lcm = (num1 * num2) / gcd;
   printf("LCM: %d", lcm);
  
   return 0;
}

Output
lcm using gcd