Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions Maths/KrishnamurthyNumber.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
//package Maths;

/* This is a program to check if a number is a Krishnamurthy number or not.
A number is a Krishnamurthy number if the sum of the factorials of the digits of the number is equal to the number itself.
For example, 1, 2 and 145 are Krishnamurthy numbers.
Krishnamurthy number is also referred to as a Strong number.
*/

import java.io.*;

public class KrishnamurthyNumber
{
//returns True if the number is a Krishnamurthy number and False if it is not.
public static boolean isKMurthy(int n)
{
//initialising the variable s that will store the sum of the factorials of the digits to 0
int s=0;
//storing the number n in a temporary variable tmp
int tmp=n;

//Krishnamurthy numbers are positive
if(n<=0)
{
return false;
}

//checking if the number is a Krishnamurthy number
else
{
while(n!=0)
{
//initialising the variable fact that will store the factorials of the digits
int fact=1;
//computing factorial of each digit
for (int i=1;i<=n%10;i++)
{
fact=fact*i;
}
//computing the sum of the factorials
s=s+fact;
//discarding the digit for which factorial has been calculated
n=n/10;
}

//evaluating if sum of the factorials of the digits equals the number itself
if(tmp==s)
{
return true;
}
else
{
return false;
}
}
}
public static void main(String args[]) throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter a number to check if it is a Krishnamurthy number: ");
int n=Integer.parseInt(br.readLine());
if(isKMurthy(n))
{
System.out.println(n+" is a Krishnamurthy number.");
}
else
{
System.out.println(n+" is NOT a Krishnamurthy number.");
}
}
}