Check whether product of digits at even places is divisible by sum of digits at odd place of a number

Given a number N and numbers of digits in N, the task is to check whether the product of digits at even places of a number is divisible by sum of digits at odd place. If it is divisible, output “TRUE” otherwise output “FALSE”.

Examples:

```Input: N = 2157
Output: TRUE
Since, 1 * 7 = 7, which is divisible by 2+5=7

Input: N = 1234
Output: TRUE
Since, 2 * 4 = 8, which is divisible by 1 + 3 = 4
```

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

Approach:

1. Find product of digits at even places from right to left.
2. Find sum of digits at odd places from right to left.
3. Then check the divisibility of product by taking it’s modulo with sum
4. If modulo gives 0, output TRUE, otherwise output FALSE

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 sum of digits at odd places ` `bool` `productSumDivisible(``int` `n, ``int` `size) ` `{ ` `    ``int` `sum = 0, product = 1; ` `    ``while` `(n > 0) { ` ` `  `        ``// if size is even ` `        ``if` `(size % 2 == 0) { ` `            ``product *= n % 10; ` `        ``} ` ` `  `        ``// if size is odd ` `        ``else` `{ ` `            ``sum += n % 10; ` `        ``} ` `        ``n = n / 10; ` `        ``size--; ` `    ``} ` ` `  `    ``if` `(product % sum == 0) ` `        ``return` `true``; ` `    ``return` `false``; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `n = 1234; ` `    ``int` `len = 4; ` ` `  `    ``if` `(productSumDivisible(n, len)) ` `        ``cout << ``"TRUE"``; ` `    ``else` `        ``cout << ``"FALSE"``; ` ` `  `    ``return` `0; ` `} `

Java

 `// JAVA implementation of the above approach ` ` `  `class` `GFG { ` ` `  `    ``// below function checks whether ` `    ``// product of digits at even places ` `    ``// is divisible by sum of digits at odd places ` `    ``static` `boolean` `productSumDivisible(``int` `n, ``int` `size) ` `    ``{ ` `        ``int` `sum = ``0``, product = ``1``; ` `        ``while` `(n > ``0``) { ` ` `  `            ``// if size is even ` `            ``if` `(size % ``2` `== ``0``) { ` `                ``product *= n % ``10``; ` `            ``}  ` ` `  `            ``// if size is odd ` `            ``else` `{ ` `                ``sum += n % ``10``; ` `            ``} ` `            ``n = n / ``10``; ` `            ``size--; ` `        ``} ` ` `  `        ``if` `(product % sum == ``0``) { ` `            ``return` `true``; ` `        ``} ` `        ``return` `false``; ` `    ``} ` `    ``// Driver code ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int` `n = ``1234``; ` `        ``int` `len = ``4``; ` ` `  `        ``if` `(productSumDivisible(n, len)) { ` `            ``System.out.println(``"TRUE"``); ` `        ``} ` `        ``else` `{ ` `            ``System.out.println(``"FALSE"``); ` `        ``} ` `    ``} ` `} `

Python 3

# Python 3 implementation of the above approach

# Below function checks whether product
# of digits at even places is divisible
# by sum of digits at odd places
def productSumDivisible(n, size):
sum = 0
product = 1
while (n > 0) :

# if size is even
if (size % 2 == 0) :
product *= n % 10

# if size is odd
else :
sum += n % 10

n = n // 10
size -= 1

if (product % sum == 0):
return True
return False

# Driver code
if __name__ == “__main__”:
n = 1234
len = 4

if (productSumDivisible(n, len)):
print(“TRUE”)
else :
print(“FALSE”)

# This code is contributed by ChitraNayal

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` `productSumDivisible(``int` `n, ``int` `size) ` `    ``{ ` `        ``int` `sum = 0, product = 1; ` `        ``while` `(n > 0) { ` ` `  `            ``// if size is even ` `            ``if` `(size % 2 == 0) { ` `                ``product *= n % 10; ` `            ``}  ` ` `  `            ``// if size is odd ` `            ``else` `{ ` `                ``sum += n % 10; ` `            ``} ` `            ``n = n / 10; ` `            ``size--; ` `        ``} ` ` `  `        ``if` `(product % sum == 0) { ` `            ``return` `true``; ` `        ``} ` `        ``return` `false``; ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `n = 1234; ` `        ``int` `len = 4; ` ` `  `        ``if` `(productSumDivisible(n, len)) ` `            ``Console.WriteLine(``"TRUE"``); ` `        ``else` `            ``Console.WriteLine(``"FALSE"``); ` `    ``} ` `} `

PHP

 ` 0)  ` `    ``{ ` ` `  `        ``// if size is even ` `        ``if` `(``\$size` `% 2 == 0) ` `        ``{ ` `            ``\$product` `*= ``\$n` `% 10; ` `        ``} ` ` `  `        ``// if size is odd ` `        ``else`  `        ``{ ` `            ``\$sum` `+= ``\$n` `% 10; ` `        ``} ` `        ``\$n` `= ``\$n` `/ 10; ` `        ``\$size``--; ` `    ``} ` ` `  `    ``if` `(``\$product` `% ``\$sum` `== 0) ` `        ``return` `true; ` `    ``return` `false; ` `} ` ` `  `// Driver code ` `\$n` `= 1234; ` `\$len` `= 4; ` ` `  `if` `(productSumDivisible(``\$n``, ``\$len``)) ` `    ``echo` `"TRUE"``; ` `else` `    ``echo` `"FALSE"``; ` ` `  `// This code is contributed by anuj_67.. ` `?> `

Output:

```TRUE
```

My Personal Notes arrow_drop_up

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.