Calculate seed of a number in Python

In this tutorial, we will learn how to find the seed of a number in Python.

Definition of seed

A number x is said to be the seed of a number n if :

x *  product of digits of x is equal to n.

 

Given a number n, find all the seeds of the number.

 

Examples:

  • Input- 4977

Output- 79 , 711

79 * 7 * 9 =4977

711 * 7 * 1 * 1

  • Input – 111

Output- 111

111 * 1 = 111

  • Input- 738

Output-123

123 * 1 * 2 * 3 = 738

  • Input- 470

It does not have any seed.

 

Python program to calculate seed of a number

Check for all numbers from 1 to n.

We need to check only for those numbers which are divisible by n (i.e n%i==0) otherwise, they can not be the seed of the given number.

For the numbers, which are divisible, we find the product of its’s number.

If ProductOf Digits(i)*i ==n, then i is the seed of the given number.

To find the product of digits, initialize prod with 1, and multiply (i%10) on every iteration until i is greater than 0, on every iteration divide i by 10.

 

def ProdOfDigits(i):
    if i < 10:
        return i
    prod=1
    while(i!=0):
        prod=prod*(i%10)
        i=i//10
    return prod


n=4977
for i in range(1 , n+1):
    if n%i==0:
        if ProdOfDigits(i)*i==n:
            print(i)

OUTPUT:

79
711

 

You may also read:

 

Leave a Reply

Your email address will not be published. Required fields are marked *