Check whether product of digits at even places of a number is divisible by K

Given a number N, the task is to check whether the product of digits at even places of a number is divisible by K. If it is divisible, output “YES” otherwise output “NO”.

Examples:

Input: N = 5478, K = 5
Output: YES
Since, 5 * 7 = 35, which is divisible by 5

Input: N = 19270, K = 2
Output: NO

Approach:

  1. Find product of digits at even places from right to left.
  2. Then check the divisibility by taking it’s modulo with ‘K’
  3. If modulo gives 0, output YES, otherwise output NO

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;
  
// below function checks whether
// product of digits at even places
// is divisible by K
bool productDivisible(int n, int k)
{
    int product = 1, position = 1;
    while (n > 0) {
  
        // if position is even
        if (position % 2 == 0)
            product *= n % 10;
        n = n / 10;
        position++;
    }
  
    if (product % k == 0)
        return true;
    return false;
}
  
// Driver code
int main()
{
    int n = 321922;
    int k = 3;
  
    if (productDivisible(n, k))
        cout << "YES";
    else
        cout << "NO";
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// JAVA implementation of the above approach 
class GFG {
// below function checks whether 
// product of digits at even places 
// is divisible by K 
  
    static boolean productDivisible(int n, int k) {
        int product = 1, position = 1;
        while (n > 0) {
  
            // if position is even 
            if (position % 2 == 0) {
                product *= n % 10;
            }
            n = n / 10;
            position++;
        }
  
        if (product % k == 0) {
            return true;
        }
        return false;
    }
  
// Driver code 
    public static void main(String[] args) {
        int n = 321922;
        int k = 3;
  
        if (productDivisible(n, k)) {
            System.out.println("YES");
        } else {
            System.out.println("NO");
        }
    }
}

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 implementation of the 
# above approach 
  
# below function checks whether 
# product of digits at even places 
# is divisible by K 
def productDivisible(n, k):
    product = 1
    position = 1
    while n > 0:
          
        # if position is even 
        if position % 2 == 0:
            product *= n % 10
        n = n / 10
        position += 1
    if product % k == 0:
        return True
    return False
  
# Driver code
n = 321922
k = 3
if productDivisible(n, k) == True:
    print("YES")
else:
    print("NO")
  
# This code is contributed 
# by Shrikant13

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# implementation of the above approach
using System;
  
class GFG
{
// below function checks whether
// product of digits at even places
// is divisible by K
static bool productDivisible(int n, int k)
{
    int product = 1, position = 1;
    while (n > 0)
    {
  
        // if position is even
        if (position % 2 == 0)
            product *= n % 10;
        n = n / 10;
        position++;
    }
  
    if (product % k == 0)
        return true;
    return false;
}
  
// Driver code
public static void Main()
{
    int n = 321922;
    int k = 3;
  
    if (productDivisible(n, k))
        Console.WriteLine("YES");
    else
        Console.WriteLine("NO");
}
}
  
// This code is contributed 
// by Akanksha Rai(Abby_akku)

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP implementation of the 
// above approach
  
// Below function checks whether
// product of digits at even places
// is divisible by K
function productDivisible($n, $k)
{
    $product = 1;
    $position = 1;
    while ($n > 0)
    {
  
        // if position is even
        if ($position % 2 == 0)
            $product *= $n % 10;
        $n = (int)($n / 10);
        $position++;
    }
  
    if ($product % $k == 0)
        return true;
    return false;
}
  
// Driver code
$n = 321922;
$k = 3;
  
if (productDivisible($n, $k))
    echo "YES";
else
    echo "NO";
  
// This code is contributed by mits
?>

chevron_right


Output:

YES


My Personal Notes arrow_drop_up