# Calculating Least Common Multiple (LCM) in C: Exploring Methods and Algorithms

## Introduction

In the realm of number theory, the Least Common Multiple (LCM) holds significance as a fundamental concept. The LCM of two integers is the smallest positive integer that is divisible by both numbers without leaving a remainder. In this blog post, we will explore two methods for calculating LCM in C programming: using a while loop with if statements and finding the Greatest Common Divisor (GCD).

## Method 1: LCM using while Loop and if Statement

### Algorithm

1. Take input for two numbers, say num1 and num2.
2. Initialize a variable lcm to the maximum of the two numbers.
3. Use a while loop to check if lcm is divisible by both num1 and num2.
4. If divisible, break the loop; otherwise, increment lcm.

### C Code Example

#include <stdio.h>

int calculateLCMMethod1(int num1, int num2) {
// Initialize lcm to the maximum of the two numbers
int lcm = (num1 > num2) ? num1 : num2;

// Start the loop
while (1) {
if (lcm % num1 == 0 && lcm % num2 == 0) {
break;  // Exit the loop if lcm is divisible by both numbers
}
lcm++;  // Increment lcm if not divisible
}

return lcm;
}

int main() {
int num1, num2;

// Input: Get the two numbers from the user
printf("Enter first number: ");
scanf("%d", &num1);
printf("Enter second number: ");
scanf("%d", &num2);

// Calculate and print LCM using Method 1
printf("LCM using Method 1: %d\n", calculateLCMMethod1(num1, num2));

return 0;
}

### Output Example

#### Input: num1 = 12, num2 = 18

Enter first number: 12
Enter second number: 18
LCM using Method 1: 36

## Method 2: LCM Calculation by Finding GCD

### Algorithm

1. Take input for two numbers, say num1 and num2.
2. Use a function to find the Greatest Common Divisor (GCD) of the two numbers.
3. Calculate LCM using the formula: LCM = (num1 * num2) / GCD.

### C Code Example

#include <stdio.h>

// Function to find GCD using Euclidean Algorithm
int findGCD(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}

// Function to calculate LCM using GCD
int calculateLCMMethod2(int num1, int num2) {
int gcd = findGCD(num1, num2);
int lcm = (num1 * num2) / gcd;
return lcm;
}

int main() {
int num1, num2;

// Input: Get the two numbers from the user
printf("Enter first number: ");
scanf("%d", &num1);
printf("Enter second number: ");
scanf("%d", &num2);

// Calculate and print LCM using Method 2
printf("LCM using Method 2: %d\n", calculateLCMMethod2(num1, num2));

return 0;
}

### Output Example

#### Input: num1 = 12, num2 = 18

Enter first number: 12
Enter second number: 18
LCM using Method 2: 36

## Conclusion

In this blog post, we explored two methods for calculating the Least Common Multiple (LCM) of two numbers in C programming. Both methods provide accurate results, and the choice between them depends on the specific requirements of the program. Understanding the algorithms and implementing them in code enhances the programmer’s grasp of fundamental number theory concepts. Whether opting for a while loop with if statements or leveraging the concept of GCD, these methods equip programmers with tools to handle LCM calculations efficiently.