a krishnamurthy number is a number whose sum total of the factorials of each digit is equal to the number itself the following are some examples of krishnamurthy numbers 145 is a krishnamurthy number because 1 4 5 1 24 120 145 40585 is also a krishnamurthy number 4 0 5 8 5 40585 357 or 25965 is not a krishnamurthy number 3 5 7 6 120 5040 357 the following function will check if a number is a krishnamurthy number or not and return a boolean value calculates the factorial of a given number n fact 1 while n 0 fact n n 1 return fact def krishnamurthynumbern if n 0 return false sumofdigits 0 will hold sum of factorial of digits temp n while temp 0 get the factorial of of the last digit of n and add it to sumofdigits sumofdigits findfactorialtemp 10 replace value of temp by temp10 i e will remove the last digit from temp temp 10 returns true if number is krishnamurthy return sumofdigits n calculates the factorial of a given number n will hold sum of factorial of digits get the factorial of of the last digit of n and add it to sum_of_digits replace value of temp by temp 10 i e will remove the last digit from temp returns true if number is krishnamurthy
def find_factorial(n):
    
    fact = 1
    while n != 0:
        fact *= n
        n -= 1
    return fact


def krishnamurthy_number(n):
    if n == 0:
        return False
    sum_of_digits = 0   
    temp = n

    while temp != 0:

        
        sum_of_digits += find_factorial(temp % 10)

        
        
        temp //= 10

    
    return sum_of_digits == n