How to check if a number is strong number or not in Python

1 Answer

0 votes
# Strong numbers are the numbers that the sum of factorial of its digits
# is equal to the original number

# 145 is a strong number: 1 + 24 + 120 = 145


def factorial(n):
    fact = 1
    for i in range(2, n + 1):
        fact = fact * i
    return fact

n = 145
summ = 0

tmp = n

while n != 0:
    reminder = n % 10
    summ = summ + factorial(reminder)
    n //= 10

if summ == tmp:
    print(tmp, "is a strong number")
else:
    print(tmp, "is not a strong number")


'''
run:

145 is a strong number

'''

 



answered May 9, 2017 by avibootz

Related questions

1 answer 117 views
1 answer 187 views
1 answer 566 views
1 answer 1,512 views
1 answer 159 views
1 answer 511 views
1 answer 163 views
...