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

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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ implementation of the above approach
#include <bits/stdc++.h>
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[0]);
    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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

//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

chevron_right


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#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP implementation of the above approach 
  
// Function to find the minimum element 
function getMin($arr, $n, $k
    $res = PHP_INT_MAX; 
    for ($i = 0; $i < $n; $i++)
    
        if ($arr[$i] % $k == 0) 
            $res = min($res, $arr[$i]); 
    
    return $res
  
// Function to find the maximum element 
function getMax($arr, $n, $k
    $res = PHP_INT_MIN; 
    for ($i = 1; $i < $n; $i++) 
    
        if ($arr[$i] % $k == 0) 
            $res = max($res, $arr[$i]); 
    
    return $res
  
// Driver code 
$arr = array( 10, 1230, 45, 67, 1 ); 
$k = 10; 
$n = sizeof($arr); 
echo "Minimum element of array which is "
     "divisible by k: ", getMin($arr, $n, $k) , "\n"
echo "Maximum element of array which is "
     "divisible by k: ", getMax($arr, $n, $k); 
  
// This code is contributed by akt_mit
?>

chevron_right


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