# Minimum and Maximum element of an array which is divisible by a given number k

Given an array, the task is to find the minimum and maximum elements in the array which is divisible by a given number k.

Examples:

```Input: arr[] = {12, 1235, 45, 67, 1}, k=5
Output: Minimum = 45, Maximum = 1235

Input: arr[] = {10, 1230, 45, 67, 1}, k=10
Output: Minimum = 10, Maximum = 1230
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach:

1. Take a min variable which store the minimum element and initialize with INT_MAX and compare it with every element of the array and update the next minimum element which is divisible by k.
2. Take a max variable which store the maximum element and initialize with INT_MIN and compare it with every element of the array and update the next maximum element which is divisible by k.

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the above approach ` `#include ` `using` `namespace` `std; ` ` `  `// Function to find the minimum element ` `int` `getMin(``int` `arr[], ``int` `n, ``int` `k) ` `{ ` `    ``int` `res = INT_MAX; ` `    ``for` `(``int` `i = 0; i < n; i++) { ` `        ``if` `(arr[i] % k == 0) ` `            ``res = min(res, arr[i]); ` `    ``} ` `    ``return` `res; ` `} ` ` `  `// Function to find the maximum element ` `int` `getMax(``int` `arr[], ``int` `n, ``int` `k) ` `{ ` `    ``int` `res = INT_MIN; ` `    ``for` `(``int` `i = 1; i < n; i++) { ` `        ``if` `(arr[i] % k == 0) ` `            ``res = max(res, arr[i]); ` `    ``} ` `    ``return` `res; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `arr[] = { 10, 1230, 45, 67, 1 }; ` `    ``int` `k = 10; ` `    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr); ` `    ``cout << ``"Minimum element of array which is divisible by k: "` `         ``<< getMin(arr, n, k) << ``"\n"``; ` `    ``cout << ``"Maximum element of array which is divisible by k: "` `         ``<< getMax(arr, n, k); ` ` `  `    ``return` `0; ` `} `

## Java

 `//Java implementation of the above approach  ` ` `  `class` `GFG { ` ` `  `// Function to find the minimum element  ` `    ``static` `int` `getMin(``int` `arr[], ``int` `n, ``int` `k) { ` `        ``int` `res = Integer.MAX_VALUE; ` `        ``for` `(``int` `i = ``0``; i < n; i++) { ` `            ``if` `(arr[i] % k == ``0``) { ` `                ``res = Math.min(res, arr[i]); ` `            ``} ` `        ``} ` `        ``return` `res; ` `    ``} ` ` `  `// Function to find the maximum element  ` `    ``static` `int` `getMax(``int` `arr[], ``int` `n, ``int` `k) { ` `        ``int` `res = Integer.MIN_VALUE; ` `        ``for` `(``int` `i = ``1``; i < n; i++) { ` `            ``if` `(arr[i] % k == ``0``) { ` `                ``res = Math.max(res, arr[i]); ` `            ``} ` `        ``} ` `        ``return` `res; ` `    ``} ` ` `  `// Driver code  ` `    ``public` `static` `void` `main(String[] args) { ` `        ``int` `arr[] = {``10``, ``1230``, ``45``, ``67``, ``1``}; ` `        ``int` `k = ``10``; ` `        ``int` `n = arr.length; ` `        ``System.out.println(``"Minimum element of array which is divisible by k: "` `                ``+ getMin(arr, n, k)); ` `        ``System.out.println(``"Maximum element of array which is divisible by k: "` `                ``+ getMax(arr, n, k)); ` `    ``} ` `} ` `//This code contribute by Shikha Singh `

## Python 3

 `# Python 3 implementation of the  ` `# above approach ` `import` `sys ` ` `  `# Function to find the minimum element ` `def` `getMin(arr, n, k): ` ` `  `    ``res ``=` `sys.maxsize ` `    ``for` `i ``in` `range``(n): ` `        ``if` `(arr[i] ``%` `k ``=``=` `0``): ` `            ``res ``=` `min``(res, arr[i]) ` `    ``return` `res ` ` `  `# Function to find the maximum element ` `def` `getMax(arr, n, k): ` ` `  `    ``res ``=` `0` `    ``for` `i ``in` `range``(``1``, n): ` `        ``if` `(arr[i] ``%` `k ``=``=` `0``): ` `            ``res ``=` `max``(res, arr[i]) ` `    ``return` `res ` ` `  `# Driver code ` `if` `__name__ ``=``=` `"__main__"``: ` `     `  `    ``arr ``=` `[ ``10``, ``1230``, ``45``, ``67``, ``1` `] ` `    ``k ``=` `10` `    ``n ``=` `len``(arr) ` `    ``print``(``"Minimum element of array which"``,  ` `          ``"is divisible by k: "``, getMin(arr, n, k)) ` `    ``print``( ``"Maximum element of array which"``,  ` `           ``"is divisible by k: "``, getMax(arr, n, k)) ` ` `  `# This code is contributed  ` `# by ChitraNayal `

## C#

 `// C# implementation of the above approach  ` `using` `System; ` ` `  `class` `GFG ` `{ ` `// Function to find the minimum element  ` `static` `int` `getMin(``int` `[]arr, ``int` `n, ``int` `k)  ` `{ ` `    ``int` `res = ``int``.MaxValue; ` `    ``for` `(``int` `i = 0; i < n; i++)  ` `    ``{ ` `        ``if` `(arr[i] % k == 0) ` `        ``{ ` `            ``res = Math.Min(res, arr[i]); ` `        ``} ` `    ``} ` `    ``return` `res; ` `} ` ` `  `// Function to find the maximum element  ` `static` `int` `getMax(``int` `[]arr, ``int` `n, ``int` `k)  ` `{ ` `    ``int` `res = ``int``.MinValue; ` `    ``for` `(``int` `i = 1; i < n; i++) ` `    ``{ ` `        ``if` `(arr[i] % k == 0)  ` `        ``{ ` `            ``res = Math.Max(res, arr[i]); ` `        ``} ` `    ``} ` `    ``return` `res; ` `} ` ` `  `// Driver code  ` `static` `public` `void` `Main () ` `{ ` `    ``int` `[]arr = {10, 1230, 45, 67, 1}; ` `    ``int` `k = 10; ` `    ``int` `n = arr.Length; ` `    ``Console.WriteLine(``"Minimum element of array "` `+  ` `                      ``"which is divisible by k: "` `+  ` `                                ``getMin(arr, n, k)); ` `    ``Console.WriteLine(``"Maximum element of array "` `+ ` `                      ``"which is divisible by k: "` `+  ` `                                ``getMax(arr, n, k)); ` `} ` `} ` ` `  `// This code is contributes by ajit `

## PHP

 ` `

Output:

```Minimum element of array which is divisible by k: 10
Maximum element of array which is divisible by k: 1230
```

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

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.