Check if a number is special or not in Java
Today we will how to check whether a number is a Special number or not in Java.
But before that, we should know what is a special number.
A special number is a number such that the sum of its digit’s factorial is equal to the number itself.
Sounds confusing?
Let’s take an example to get a clear idea about a special number.
Example: 145
1! + 4! + 5! =145
5!= 5*4*3*2*1=120
4!=4*3*2*1=24
1!=1
145+24+1=145
Now we know what is a special number, so let’s start by learning how to find factorial of a method.
int fact(int n)
{
if(n==1 || n==0)
{
return 1;
}
else
{
return n*fact(n-1);
}
}In the above code, we are using the recursion approach, that is, a function calling itself.
If you are not comfortable with recursion you can use the simple way of finding factorial by multiplying the number with its predecessor until 1 comes.
Now let’s look at the complete code:
class test
{
int fact(int n)
{
if(n==1 || n==0)
{
return 1;
}
else
{
return n*fact(n-1);
}
}
}
public class MyClass
{
public static void main(String args[])
{
test t1=new test();
int n=145;
int num=n;
int res=0;
int rem;
while(n>0)
{
rem=n%10;
res=res+t1.fact(rem);
n=n/10;
}
if(res==num)
{
System.out.println("Number is special");
}
else
{
System.out.println("Number is Not special");
}
}
}
The above program when executed will give the following output:
Number is special
Hope this helped you out. We are able to check if a number is special or not with Java programming.
Happy Coding.
Also Read:
Leave a Reply