Given an array **arr[]** and an integer **K**, the task is to calculate the count the factors of **K** present in the array.

**Examples:**

Input:arr[] = {1, 2, 4, 5, 6}, K = 6

Output:3

Explanation:

There are three numbers present in the array those are factors of K = 6 – {1, 2, 6}

Input:arr[] = {1, 2, 12, 24}, K = 20

Output:2

Explanation:

There are two numbers present in the array those are factors of K = 20 – {1, 2}

**Naive Approach:** A simple solution for this problem is to find all the factors of K and then for each factor iterate over the array and check that it is present in the array or not. If yes then increment the count of factors by 1.

**Efficient Approach:** The idea is to instead of finding all factors of the number K iterate over the array and check for each element that it is the factor of K, or not with the help of the modulo operator. If yes then increment the count of factors of K.

Below is the implementation of the above approach:

## C++

`// C++ implementaion to find the count ` `// of factors of K present in array ` ` ` `#include <iostream> ` `using` `namespace` `std; ` ` ` `// Function to find the count ` `// of factors of K present in array ` `int` `calcCount(` `int` `arr[], ` `int` `n, ` `int` `k) ` `{ ` ` ` `int` `count = 0; ` ` ` ` ` `// Loop to consider every ` ` ` `// element of array ` ` ` `for` `(` `int` `i = 0; i < n; i++) { ` ` ` `if` `(k % arr[i] == 0) ` ` ` `count++; ` ` ` `} ` ` ` ` ` `return` `count; ` `} ` ` ` `// Driver Code ` `int` `main() ` `{ ` ` ` `int` `arr[] = { 1, 2, 4, 5, 6 }; ` ` ` `int` `n = ` `sizeof` `(arr) / ` `sizeof` `(arr[0]); ` ` ` `int` `k = 6; ` ` ` ` ` `// Function Call ` ` ` `cout << calcCount(arr, n, k); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java implementaion to find the count ` `// of factors of K present in array ` `class` `GFG{ ` ` ` `// Function to find the count ` `// of factors of K present in array ` `static` `int` `calcCount(` `int` `arr[], ` `int` `n, ` `int` `k) ` `{ ` ` ` `int` `count = ` `0` `; ` ` ` ` ` `// Loop to consider every ` ` ` `// element of array ` ` ` `for` `(` `int` `i = ` `0` `; i < n; i++) ` ` ` `{ ` ` ` `if` `(k % arr[i] == ` `0` `) ` ` ` `count++; ` ` ` `} ` ` ` `return` `count; ` `} ` ` ` `// Driver Code ` `public` `static` `void` `main(String[] args) ` `{ ` ` ` `int` `arr[] = { ` `1` `, ` `2` `, ` `4` `, ` `5` `, ` `6` `}; ` ` ` `int` `n = arr.length; ` ` ` `int` `k = ` `6` `; ` ` ` ` ` `// Function Call ` ` ` `System.out.print(calcCount(arr, n, k)); ` `} ` `} ` ` ` `// This code is contributed by gauravrajput1 ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 implementaion to find the count ` `# of factors of K present in array ` ` ` `# Function to find the count ` `# of factors of K present in array ` `def` `calcCount(arr, n, k): ` ` ` ` ` `count ` `=` `0` ` ` ` ` `# Loop to consider every ` ` ` `# element of array ` ` ` `for` `i ` `in` `range` `(` `0` `, n): ` ` ` `if` `(k ` `%` `arr[i] ` `=` `=` `0` `): ` ` ` `count ` `=` `count ` `+` `1` ` ` ` ` `return` `count ` ` ` `# Driver Code ` `arr ` `=` `[ ` `1` `, ` `2` `, ` `4` `, ` `5` `, ` `6` `] ` `n ` `=` `len` `(arr) ` `k ` `=` `6` ` ` `# Function Call ` `print` `(calcCount(arr, n, k)) ` ` ` `# This code is contributed by PratikBasu ` |

*chevron_right*

*filter_none*

## C#

`// C# implementaion to find the count ` `// of factors of K present in array ` `using` `System; ` ` ` `class` `GFG{ ` ` ` `// Function to find the count ` `// of factors of K present in array ` `static` `int` `calcCount(` `int` `[]arr, ` `int` `n, ` `int` `k) ` `{ ` ` ` `int` `count = 0; ` ` ` ` ` `// Loop to consider every ` ` ` `// element of array ` ` ` `for` `(` `int` `i = 0; i < n; i++) ` ` ` `{ ` ` ` `if` `(k % arr[i] == 0) ` ` ` `count++; ` ` ` `} ` ` ` `return` `count; ` `} ` ` ` `// Driver Code ` `public` `static` `void` `Main(String[] args) ` `{ ` ` ` `int` `[]arr = { 1, 2, 4, 5, 6 }; ` ` ` `int` `n = arr.Length; ` ` ` `int` `k = 6; ` ` ` ` ` `// Function Call ` ` ` `Console.Write(calcCount(arr, n, k)); ` `} ` `} ` ` ` `// This code is contributed by Amit Katiyar ` |

*chevron_right*

*filter_none*

**Output:**

3

**Time Complexity:** O(N)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.

## Recommended Posts:

- Count the number of sub-arrays such that the average of elements present in the sub-array is greater than that not present in the sub-array
- Sum of element whose prime factors are present in array
- Find number of factors of N when location of its two factors whose product is N is given
- Print all numbers whose set of prime factors is a subset of the set of the prime factors of X
- Check if a number exists having exactly N factors and K prime factors
- Maximum number of prime factors a number can have with exactly x factors
- Count of anagrams of each string in an array present in another array
- First string from the given array whose reverse is also present in the same array
- Count of Subsets of a given Set with element X present in it
- Count elements present in first array but not in second
- Count pairs with average present in the same array
- Count of elements A[i] such that A[i] + 1 is also present in the Array
- Find and Count total factors of co-prime A or B in a given range 1 to N
- Sort an array according to the increasing count of distinct Prime Factors
- Choose two elements from the given array such that their sum is not present in any of the arrays
- Find if a crest is present in the index range [L, R] of the given array
- Check if all array elements are present in a given stack or not
- Find numbers which are multiples of first array and factors of second array
- Count number of subsets whose median is also present in the same subset
- Count balanced nodes present in a binary tree

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 Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.