Related Articles

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

• Last Updated : 28 May, 2021

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:

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

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

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the above approach``#include ``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;``}`

## Java

 `// 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"``);``        ``}``    ``}``}`

## Python3

 `# 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`

## C#

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

## PHP

 ` 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``?>`

## Javascript

 ``
Output:
`YES`

#### Method #2:Using string() method:

1. Convert the integer to string then traverse the string and Multiply all even indices by storing it in the product.
2. If the product is divisible by k then return True else False.

Below is the implementation:

## Python3

 `# Python3 implementation of the``# above approach` `# Function checks whether``# product of digits at even places``# is divisible by K``def` `productDivisible(n, k):``    ``product ``=` `1``    ` `    ``# Converting integer to string``    ``num ``=` `str``(n)``    ` `    ``# Traversing the string``    ``for` `i ``in` `range``(``len``(num)):``        ``if``(i ``%` `2` `=``=` `0``):``            ``product ``=` `product``*``int``(num[i])` `    ``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 vikkycirus`

## Javascript

 ``

Output:

`YES`

My Personal Notes arrow_drop_up