C program to find the LCM of n numbers

In this article, you will learn and get code for finding the LCM of n numbers. Or you can say that, here, the program is created to find the LCM of an array. However, before you begin the program, I recommend that you first visit Find LCM of Two Numbers (if you haven't already). Because the program given here is related to the program in that article.

In C, find the LCM of n numbers

The question is: write a program in C to find out the LCM of n numbers in a given array. The answer to this question is:

#include<stdio.h>
#include<conio.h>
int main()
{
    int arr[10], n, mp, i, count;
    printf("Enter the Size: ");
    scanf("%d", &n);
    printf("Enter %d Numbers: ", n);
    for(i=0; i<n; i++)
        scanf("%d", &arr[i]);
    i=0;
    mp = arr[i];
    while(i<n)
    {
        if(mp<arr[i])
            mp = arr[i];
        i++;
    }
    while(1)
    {
        i=0;
        count=0;
        while(i<n)
        {
            if(mp%arr[i]==0)
                count++;
            i++;
        }
        if(count==n)
            break;
        else
            mp++;
    }
    printf("\nLCM(");
    for(i=0; i<(n-1); i++)
        printf("%d,", arr[i]);
    printf("%d) = %d", arr[i], mp);
    getch();
    return 0;
}

This program was built and runs in the Code::Blocks IDE. Here is its sample run:

c program find lcm n numbers

Now supply 5 as the size and enter 5 numbers, say 10, 12, 15, 20, and 30. Then press the ENTER key to see the following output:

find lcm of n numbers c

Program Explained

The statement:

while(i<n)
{
    if(mp%arr[i]==0)
        count++;
    i++;
}

is used to check whether the value at mp is divisible by all the numbers or not. If it is divisible by any number, then increment the value of count. After exiting this loop, check whether count is equal to the array size or not. If it is equal, then mp is divisible by all the numbers. Because every time the condition of if blocks evaluates to true and program flow goes inside the block, it increments the value of count.

For example, let's suppose the size of the array is 5 and the elements are 10, 12, 15, 20, and 30. The program then proceeds as follows:

C Quiz


« Previous Program Next Program »


Liked this post? Share it!