
- Java Tutorial
- Java - Home
- Java - Overview
- Java - Environment Setup
- Java - Basic Syntax
- Java - Object & Classes
- Java - Constructors
- Java - Basic Datatypes
- Java - Variable Types
- Java - Modifier Types
- Java - Basic Operators
- Java - Loop Control
- Java - Decision Making
- Java - Numbers
- Java - Characters
- Java - Strings
- Java - Arrays
- Java - Date & Time
- Java - Regular Expressions
- Java - Methods
- Java - Files and I/O
- Java - Exceptions
- Java - Inner classes
- Java Object Oriented
- Java - Inheritance
- Java - Overriding
- Java - Polymorphism
- Java - Abstraction
- Java - Encapsulation
- Java - Interfaces
- Java - Packages
- Java Advanced
- Java - Data Structures
- Java - Collections
- Java - Generics
- Java - Serialization
- Java - Networking
- Java - Sending Email
- Java - Multithreading
- Java - Applet Basics
- Java - Documentation
- Java Useful Resources
- Java - Questions and Answers
- Java - Quick Guide
- Java - Useful Resources
- Java - Discussion
- Java - Examples
How to Check Whether a Number is Krishnamurthy Number or Not in Java?
Krishnamurthy number can be defined as a number when the sum of the factorial of all digits is equal to the original number.
This Krishnamurthy number is also called the Strong number, Special number and Peterson number.
To show you some instances
Instance-1
Input number is 1
Let’s check it by using the logic of Krishnamurthy number −
1 = 1! = 1 which is equal to the original number.
Hence, 1 is a Krishnamurthy number.
Instance-2
Input number is 145
Let’s check it by using the logic of Krishnamurthy number −
145 = 1! + 4! + 5! = 1 + 24 + 120 = 145 which is equal to the original number.
Hence, 145 is a Krishnamurthy number.
Instance-3
Input number is 55
Let’s check it by using the logic of Krishnamurthy number −
55 = 5! + 5! = 120 + 120 = 240 which is not equal to the original number.
Hence, 55 is not a Krishnamurthy number.
Some of other examples of Krishnamurthy numbers include 2, 40585 etc.
Algorithm
Step 1 − Get an integer number either by initialization or by user input.
Step 2 − Keep a copy of the original number to compare it with the new number.
Step 3 − Find the factorial of each digit of the input number and keep a track of the sum of the factorial of the digits.
Step 4 − At last, compare the sum of the factorial of the digits with the copy of the original input number. If both are equal then it is a Krishnamurthy number. Otherwise the input number is not a Krishnamurthy number.
Multiple Approaches
We have provided the solution in different approaches.
By Using Static Input Value
By Using User Defined Method
Let’s see the program along with its output one by one.
Approach-1: By Using User Input Value
In this approach, an integer value will be initialized in the program and then by using the algorithm we can check whether a number is a Krishnamurthy number or not.
Example
import java.util.*; public class Main { //main method public static void main(String[] args) { //initialized a number int originalNumber = 145; //printing the given number System.out.println("Given number: "+originalNumber); //keep a copy of original number int copyOfOriginalNumber = originalNumber; //initializing sum value as 0 int sum = 0; //continue the while loop till the original number becomes 0 while (originalNumber != 0) { //find the digit of the number int digit = originalNumber%10; //declare an integer variable say fact & initialize as 1 int fact = 1; //find the factorial by using for loop for (int i= 1; i<= digit; i++){ fact = fact * i; } //add the factorial with sum sum = sum + fact; //get the updated number originalNumber = originalNumber / 10; } //If sum of factorials and original input number //are equal then it is a Krishnamurthy number if (sum == copyOfOriginalNumber) System.out.println(copyOfOriginalNumber + " is a Krishnamurthy number"); //print it is not a Krishnamurthy number else System.out.println(copyOfOriginalNumber + " is not a Krishnamurthy number"); } }
Output
Given number: 145 145 is a Krishnamurthy number
Approach-2: By Using User Defined
In this approach the user will be asked to take the input of an integer value and then we will call a user defined method by passing this input number as parameter.
Inside the method we will check whether a number is a Krishnamurthy number or not by using the algorithm.
Example
import java.util.*; public class Main { //main method public static void main(String[] args){ //initialized a number int originalNumber = 40585; //printing the given number System.out.println("Given number: "+originalNumber); //keep a copy of original number int copyOfOriginalNumber = originalNumber; //calling the method to check Krishnamurthy number if (checkKrishnamurthy(originalNumber)) System.out.println(copyOfOriginalNumber + " is a Krishnamurthy number"); else System.out.println(copyOfOriginalNumber + " is not a Krishnamurthy number"); } //user defined method public static boolean checkKrishnamurthy(int originalNumber){ //keep a copy of original number int copyOfNumber = originalNumber; //initializing sum value as 0 int sum = 0; //continue the while loop till the original number becomes 0 while(originalNumber>0){ //find the digit int digit=originalNumber%10; //find factorial by calling the user defined method findFactorial() //And add it to sum sum=sum+findFactorial(digit); originalNumber=originalNumber/10; } //If sum of factorials and original input number //are equal then return true if (sum == copyOfNumber) return true; //else return false else return false; } //find the factorial of an integer public static int findFactorial(int num){ //declare an integer variable say fact & initialize as 1 int factorial=1; //continue loop till number reaches 1 while(num>=1){ //multiply number with factorial factorial=factorial*num; //decrement the number num--; } //return the factorial return factorial; } }
Output
Given number: 40585 40585 is a Krishnamurthy number
In this article, we explored how to check a number whether it is a Krishnamurthy number or not in Java by using different approaches.
- Related Articles
- Check if a number is a Krishnamurthy Number or not in C++
- How To Check Whether a Number is Strontio Number or Not in Java?
- How To Check Whether a Number is Tcefrep Number or Not in Java?
- How To Check Whether a Number is Tech Number or Not in Java?
- How To Check Whether a Number Is a Pronic Number or Not in Java?
- How To Check Whether a Number Is a Bouncy Number or Not in Java?
- How To Check Whether a Number is a Evil Number or Not in Java?
- How To Check Whether a Number Is a Fascinating Number or Not in Java?
- How To Check Whether a Number is a Harshad Number or Not in Java?
- How To Check Whether a Number Is a Insolite Number or Not in Java?
- How To Check Whether a Number is a Keith Number or Not in Java?
- How To Check Whether a Number Is a Niven Number or Not in Java?
- How To Check Whether a Number is a Sunny Number or Not in Java?
- How to Check Whether a Number is a Triangular Number or Not in Java?
- How To Check Whether a Number is a Unique Number or Not in Java?
