[16641 views]

A number is said to be a Krishnamurthy number if the sum of the factorial of all its digits is equal to that number. They are sometimes also known as Peterson number or Strong number.

For example: Let us consider the number 145.

Factorial sum = 1! + 4! + 5! = 1 + 24 + 120 = 145

Other examples include: 1, 2, 40585.

**Note:** Factorial of a number is the product of all the consecutive numbers, starting from 1, till that number. It is denoted by ‘!’. Example: 5! = 1*2*3*4*5 = 120

Let us have a look at the algorithm and flowchart to check whether a given number is a Krishnamurthy number or not.

The algorithm starts by taking the number, say ‘n’, to be checked as user input. To check whether a number is Krishnamurthy or not, we will have to calculate the sum of the factorial of each digit. In simple words, we will extract each digit from the number and calculate its factorial, and then add it to the sum.

We will save a copy of the given number in a variable ‘temp’ and initialize the sum ‘s’ to be 0. After this, we will start a while loop, which runs until the number is not equal to zero. We will then extract the last digit of the number by performing: d = n % 10. After that the factorial of the digit is initialized as 1 and a for loop is started from 2 to d. (Note that we are staring the loop for factorial from 2 since we have already initialized the factorial as 1. In case the given number is 1, we will never enter the loop and the factorial will be 1.) After the factorial is calculated, we will add the factorial to the sum.

Once we are out of the while loop, we will check whether the sum and the original number are equal or not. If yes, the given number is Krishnamurthy number, else it is not a Krishnamurthy number.

If we take the example of the number 145;

temp = 145

s= 1! + 4! + 5! = 1 + 24 +120 = 145

Here, sum = temp.

Hence, 145 is a Krishnamurthy number.

Note: Here ‘%’ is the modulus operator which returns the remainder value after division.

- Java IDE Online
- Python IDE Online
- JSON Formatter/Minifier Online
- Case Converter
- Reverse String
- HTML Encoder
- HTML Decoder
- URL Encoder
- URL Decoder
- Decimal To Binary
- Binary To Decimal
- Decimal To Octal
- Binary To Octal
- Decimal To Hexadecimal
- Hexadecimal To Decimal
- Hexadecimal To Binary
- Octal To Decimal
- Octal to Hexadecimal
- Octal to Binary
- Calculate String Length
- Remove Spaces
- Remove Line Breaks
- Remove Empty Lines
- Remove Duplicate Lines
- Word Counter
- Replace Space with hyphen
- Check Armstrong number
- Text to URL

- Algorithm and Flowchart to Find Area of Square
- Algorithm and Flowchart to check whether an array is mirror inverse or not
- Algorithm and flowchart to check whether two numbers are coprime or not
- Subtraction of Two Matrix Algorithm and Flowchart
- Algorithm and Flowchart to calculate the frequency of punctuation marks in a given string