- Related Questions & Answers
- Check whether product of digits at even places is divisible by sum of digits at odd place of a numbers in Python
- Check whether sum of digits at odd places of a number is divisible by K in Python
- Check if product of digits of a number at even and odd places is equal in Python
- Find the sum of digits of a number at even and odd places in C++
- C Program to check if a number is divisible by sum of its digits
- C Program to check if a number is divisible by any of its digits
- Check whether product of 'n' numbers is even or odd in Python
- Count subarrays whose product is divisible by k in C++
- Product of all the elements in an array divisible by a given number K in C++
- Check if N is divisible by a number which is composed of the digits from the set {A, B} in Python
- Python Program to check whether it is possible to make a divisible by 3 number using all digits in an array
- Check if product of first N natural numbers is divisible by their sum in Python
- Check if any permutation of a large number is divisible by 8 in Python
- Check if any permutation of a number is divisible by 3 and is Palindromic in Python
- Primality test for the sum of digits at odd places of a number in C++

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

Suppose we have a number n, and another number k, we have to check whether the product of digits at even places of n is divisible by k 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) is divisible by 3.

To solve this, we will follow these steps −

- digit_count := digit count of given number n
- prod := 1
- while n > 0, do
- if digit_count is even, then
- prod := prod * last digit of n

- n := quotient of (n / 10)
- digit_count := digit_count - 1

- if digit_count is even, then
- if prod is divisible by k, then
- return True

- return False

Let us see the following implementation to get better understanding −

from math import log10 def solve(n, k): digit_count = int(log10(n))+1 prod = 1 while n > 0 : if digit_count % 2 == 0 : prod *= n % 10 n = n // 10 digit_count -= 1 if prod % k == 0: return True return False n = 59361 k = 3 print(solve(n, k))

59361, 3

True

Advertisements