# Check whether product of digits at even places is divisible by sum of digits at odd place of a numbers in Python

PythonServer Side ProgrammingProgramming

#### Beyond Basic Programming - Intermediate Python

Most Popular

36 Lectures 3 hours

#### Practical Machine Learning using Python

Best Seller

91 Lectures 23.5 hours

#### Practical Data Science using Python

22 Lectures 6 hours

Suppose we have a number n, we have to check whether the product of digits at even places of n is divisible by sum of digits at odd place of n or not. Places are started counting from right to left. Right most is at place 1.

So, if the input is like n = 59361, then the output will be True as (1*3*5) = (6+9).

To solve this, we will follow these steps −

• digit_count := digit count of given number n
• total := 0, prod := 1
• while n > 0, do
• if digit_count is even, then
• prod := prod * last digit of n
• otherwise,
• total := total + last digit of n
• n := quotient of (n / 10)
• digit_count := digit_count - 1
• if prod is divisible by total, then
• return True
• return False

Let us see the following implementation to get better understanding −

## Example Code

Live Demo

from math import log10

def solve(n):
digit_count = int(log10(n))+1
total = 0
prod = 1
while n > 0 :
if digit_count % 2 == 0 :
prod *= n % 10
else:
total += n % 10

n = n // 10
digit_count -= 1

if prod % total == 0:
return True
return False

n = 59361
print(solve(n))

## Input

59361


## Output

True
Updated on 16-Jan-2021 04:42:05