- Related Questions & Answers
- Count elements that are divisible by at-least one element in another array in C++
- Find an array element such that all elements are divisible by it using c++
- Find elements of an array which are divisible by N using STL in C++
- Print array elements that are divisible by at-least one other in C++
- Count the number of elements in an array which are divisible by k in C++
- Count numbers in a range that are divisible by all array elements in C++
- Frequency of elements of one array that appear in another array using JavaScript
- Divide every element of one array by other array elements in C++ Program
- Product of all the elements in an array divisible by a given number K in C++
- Get values that are not present in another array in JavaScript
- Maximum possible XOR of every element in an array with another array in C++
- Find a non empty subset in an array of N integers such that sum of elements of subset is divisible by N in C++
- Check if LCM of array elements is divisible by a prime number or not in Python
- Find set of m-elements with difference of any two elements is divisible by k in C++
- Count of m digit integers that are divisible by an integer n in C++

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

In this problem, we are given two arrays arr1[] and arr2[]. Our task is to create a program to find the *elements of an array that are not divisible by any element of another array. *

**Problem Description: **Here, we need to find all elements from arr1 that are not divisible by any elements of arr2.

**Input: **arr1[] = {17, 15, 5, 12, 8} arr2[] = {5, 4}

**Output: **17

**Explanation −**

Elements of arr1 and elements dividing them,

17 -> no element can divide it.

15 -> 5 divides the element.

5 -> 5 divides the element.

12 -> 4 divides the element.

8 -> 4 divides the element.

A simple and naive approach to solve the problem is by using the direct method. We will loop through arr1 and for each element of arr1, we will check if any element of arr2 divides the element. If no element divides it, print the element.

**Step 1:** loop for arr1, i -> 0 to n-1.

**Step 2.1: **for each arr1[i], loop arr2, for j -> 0 to n-1.

**Step 2.2.1 : **if arr1[i] % arr2[j] == 0, continue flag = -1.

**Step 2.3:** if flag != -1, print arr1[i].

#include<iostream> using namespace std; void findEleNotDivisbleByArray(int arr1[], int arr2[], int arr1Size, int arr2Size) { int flag = 0; for (int i = 0; i < arr1Size; i++) { flag = 0; for (int j = 0; j < arr2Size; j++){ if( arr1[i] % arr2[j] == 0 ) { flag = -1; break; } } if ( flag == 0 ) cout<<arr1[i]<<"\t"; } } int main() { int arr1[] = {17, 15, 5, 12, 23, 8}; int arr2[] = {5, 4}; int arr1Size = sizeof(arr1)/sizeof(arr1[0]); int arr2Size = sizeof(arr2)/sizeof(arr2[0]); cout<<"Elements of an array that are not divisible by any element of another array are "; findEleNotDivisbleByArray(arr1, arr2, arr1Size, arr2Size); return 0; }

Elements of an array that are not divisible by any element of another array are 17 23

This solution is valid but is not efficient. So, let’s see an efficient solution to the problem,

In this method, we will create an array isDivisible[] of elements of arr1. For all elements of arr2, mark all their multiples till the largest element of arr1. And print all elements that are marked false in isDisible array.

#include<iostream> using namespace std; void findEleNotDivisbleByArray(int arr1[], int arr2[], int arr1Size, int arr2Size) { int maxEle = 0; for (int i = 0; i < arr1Size; i++) if (arr1[i] > maxEle) maxEle = arr1[i]; int mark[maxEle]; for (int i = 0; i < arr2Size; i++) for (int j = arr2[i]; j <= maxEle; j += arr2[i]) mark[j] = 1; for (int i = 0; i < arr1Size; i++) if ( mark[arr1[i]] != 1) cout << arr1[i] << endl; } int main() { int arr1[] = {17, 15, 5, 12, 8}; int arr2[] = {5, 4}; int arr1Size = sizeof(arr1)/sizeof(arr1[0]); int arr2Size = sizeof(arr2)/sizeof(arr2[0]); cout<<"Elements of an array that are not divisible by any element of another array are "; findEleNotDivisbleByArray(arr1, arr2, arr1Size, arr2Size); return 0; }

Elements of an array that are not divisible by any element of another array are 17

Advertisements