Check if LCM of array elements is divisible by a prime number or not

2.5

Given an array and a number k, the task is to find if LCM of the array is divisible by k or not.

Examples:

Input : int[] a = {10, 20, 15, 25}
              k = 3
Output : true

Input : int[] a = {24, 21, 45, 57, 36};
              k = 23;
Output : false

One simple solution is to first find LCM of array elements, then check if LCM is divisible by k or not.

Here, without calculating the LCM of the number we can find that LCM of the an array of number is divisible by a prime number k or not. If any number of the array is divisible by prime number k, then the LCM of the number is also divisible by prime number k.

C++

// C++ program to find LCM of array of number is
// divisible by a prime number k or not
#include<iostream>
using namespace std;
 
// Function to check any number of 
// array is divisible by k or not
bool func( int a[], int k, int n)
{
    // If any array element is divisible
    // by k, then LCM of whole array
    // should also be divisible.
    for (int i=0; i<n; i++)
        if (a[i]%k == 0)
           return true;
    return false;
}
 
// Driver program
int main()
{
    int a[] = {14, 27, 38, 76, 84};
    int k = 19;
    bool res = func(a, k, 5);
    if(res)
    cout<<"true"; 
    else
    cout<<"false"; 
    return 0;
}

/* This code is contributed by Mr. Somesh Awasthi */

Java

// Java program to find LCM of array of number is
// divisible by a prime number k or not
import java.lang.*;
import java.util.*;

class LCM
{
    // Function to check any number of array is
    // divisible by k or not
    static boolean func( int a[], int k)
    {
        // If any array element is divisible
        // by k, then LCM of whole array
        // should also be divisible.
        for (int i=0; i<a.length; i++)
            if (a[i]%k == 0)
               return true;
        return false;
    }

    // Driver program
    public static void main(String args[])
    {
        int[] a = {14, 27, 38, 76, 84};
        int k = 19;
        boolean res = func(a, k);
        System.out.println(res);
    }
}


Output:

 true

This article is contributed by Pramod Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

GATE CS Corner    Company Wise Coding Practice

Recommended Posts:



2.5 Average Difficulty : 2.5/5.0
Based on 4 vote(s)










Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here.