BeginnersBook

  • Home
  • Java
    • Java OOPs
    • Java Collections
    • Java Examples
  • C
    • C Examples
  • C++
    • C++ Examples
  • DBMS
  • Computer Network
  • Python
    • Python Examples
  • More…
    • jQuery
    • Kotlin
    • WordPress
    • SEO
    • JSON
    • JSP
    • JSTL
    • Servlet
    • MongoDB
    • XML
    • Perl

C Program to Find LCM of two Numbers

By Chaitanya Singh | Filed Under: C Programs

In this tutorial, you will learn how to write a C program to find LCM of two numbers.

What is LCM?

LCM stands for lowest common multiple. LCM of two integers num1 and num2 is the smallest positive integer that is perfectly divisible by both the numbers, perfectly means the remainder is zero. For example, LCM of 15 and 50 is 150 because 150 is the smallest number that can be perfectly divisible by both 15 and 50.

Example 1: Program to find LCM of two numbers using while loop

In this example, program prompts the user to input the two integers. The entered positive integers are stored in num1 and num2 respectively using scanf() function.

The largest number between these two is stored in another variable max. The LCM cannot be less than max value. Now we are running a while loop in which we are incrementing the value of max by 1 and on every iteration checking whether the max is perfectly divisible by both numbers. If it is then displaying the max value as the LCM of these two numbers else increase the max value and check again.

#include <stdio.h>
int main() {
  int num1, num2, max;
  printf("Enter two positive integers: ");
  scanf("%d %d", &num1, &num2);

  // greater number between num1 and num2 is stored in max
  max = (num1 > num2) ? num1 : num2;

  while (1) {
    if (max % num1 == 0 && max % num2 == 0) {
      printf("LCM of input numbers %d and %d is %d.", num1, num2, max);
      break;
    }
    ++max;
  }
  return 0;
}

Output:
C Program to Find LCM of two Numbers

Example 2: Program to find LCM from GCD of two numbers

There is another way to find the LCM of two numbers using this formula LCM = (num1*num2)/GCD. In this example, we are finding the GCD of two input numbers and then calculating the LCM using the mentioned mathematical formula.

#include <stdio.h>
int main() {
  int num1, num2, i, gcd, lcm;
  printf("Enter two positive integers: ");
  //storing user input into num1 and num2
  scanf("%d %d", &num1, &num2);

  for (i = 1; i <= num1 && i <= num2; ++i) {

    // check if the current value of i is a
    // factor of both integers num1 and num2
    if (num1 % i == 0 && num2 % i == 0)
      gcd = i;
  }

  //Mathematical formula to calculate LCM from GCD
  lcm = (num1 * num2) / gcd;

  printf("LCM of two input numbers %d and %d is: %d.", num1, num2, lcm);
  return 0;
}

Output:
C Program to Find LCM of two Numbers

Related C Examples:

  • C Program to generate multiplication table
  • C Program to check whether an alphabet is vowel or consonant
  • C Program to create, initialize and access a pointer variable
  • C Program to find the largest of three numbers using pointers
❮ C TutorialC Programs ❯

Programs

  • C Programs
  • Java Programs
  • C++ Programs

Copyright © 2012 – 2022 BeginnersBook . Privacy Policy . Sitemap