# Program to find the LCM of 2 numbers in C Sharp

LCM of 2 Numbers- The least common multiple (LCM) of two or more numbers is the smallest number (not counting 0) which is a multiple of all of the numbers.

Let’s take an Example for calculating the LCM of 12 and 8.

break down 12 and 8 into prime factors:
prime factors of 12= 2*2*3
prime factors of 8= 2*2*2

the highest factor for number 12 is 3
the highest factor for number 8 is 2

now take the highest power of each prime factor in the prime factorization and multiply them:
=3 *power(2,3)
=3*8
=24

## C# program to find the LCM of 2 numbers.

Method-1

Code

``````class Program
{
static void Main(string[] args)
{

bool flag=false;

int n1,n2;

if(n1<0)
{
Console.WriteLine("Number should not be negative");
return;
}
flag = false;

if (n2 < 0)
{
Console.WriteLine("Number should not be negative");
return;
}
// // maximum number between n1 and n2 is stored in minMultiple
int minvalue = Math.Min(n1, n2);

while(true)
{
if(minvalue%n1==0 && minvalue%n2==0)
{
break;
}
minvalue++;
}

Console.WriteLine("LCM of {0} and {1} is {2}" ,n1,n2,minvalue);
}
}
``````

Output

11
22
LCM of 11 and 22 is 22

Method-2

Code

``````class Program
{
static void Main(string[] args)
{

bool flag = false;

int n1, n2;

if (n1 < 0)
{
Console.WriteLine("Number should not be negative");
return;
}
flag = false;

if (n2 < 0)
{
Console.WriteLine("Number should not be negative");
return;
}

int minvalue = Math.Min(n1, n2);

int gcd=1;
for (int i = 1; i <= n1 && i<=n2; i++)
{
// // Checks if i is factor of both integers
if(n1%i==0 && n2%i==0)
{
gcd = i;

}
}
int lcm = (n1 * n2) / gcd;

Console.WriteLine("LCM of {0} and {1} is {2}", n1, n2, lcm);
}
}
``````

Output

11
22
LCM of 11 and 22 is 22

Method-3

Code:

``````class Program
{
static void Main(string[] args)
{

bool flag = false;

int n1, n2;

if (n1 < 0)
{
Console.WriteLine("Number should not be negative");
return;
}
flag = false;

if (n2 < 0)
{
Console.WriteLine("Number should not be negative");
return;
}

int numerator = Math.Max(n1, n2);
int denominator = Math.Min(n1, n2);

int remainder = numerator % denominator;

//check the remainder value is zero  after divsion operation
while(remainder!=0)
{
numerator = denominator;
denominator = remainder;
remainder = numerator % denominator;

}

int gcd = denominator;
int lcm = (n1 * n2) / gcd;

Console.WriteLine("LCM of {0} and {1} is {2}", n1, n2, lcm);
}
}
``````