# Python Program to Generate Strong Numbers in an Interval

This python program generates Strong number in an interval given by user.

Strong numbers are those numbers whose sum of factorial of each digits is equal to the original number.

Strong Number Examples, 1 is strong number because 1!=1, 2 is strong number i.e. 2! = 2, 145 is strong number i.e. 1! + 4! + 5! = 1 + 24 + 120 = 145 etc.

## Python Source Code: Generate Strong Number

``````
# Generate Strong numbers in interval

# function to find factorial
def fact(n):
f = 1

for i in range(1,n+1):
f *= i

return f

# function to check strong
def is_strong(n):

if n< 0:
return False

number_copy = n
strong_sum = 0

while n:
remainder = n%10
strong_sum += fact(remainder)
n //= 10

return strong_sum == number_copy

min_value = int(input('Enter minimum value: '))
max_value = int(input('Enter maximum value: '))

# Looping & displaying if it is Strong
# Here min_vale & max_value are included
print('Strong numbers from %d to %d are:' %(min_value, max_value))
for i in range(min_value, max_value+1):
if is_strong(i):
print(i, end=' ')
``````

## Strong Generation: Output

```Enter minimum value: -10
Enter maximum value: 100000
Strong numbers from -10 to 100000 are:
0 1 2 145 40585
```

## Strong Generation: Code Explanation

We first read min_value and max_value from user. Function `is_strong()` is used to check whether a given number is Strong or not. We loop from `min_value` to `max_value` and pass each number to `is_strong()` function. If this function returns `True`, then we print it.