Special Number in JAVA
Special Number
Special Number : A number is said to be Special Number if the sum of factorial of its digits is equal to the number itself.
Example : 145 is a Special Number.
Sum of factorial of digits : 1! + 4!+ 5! = 1 + 24 + 120 = 145
Input : 145
Output : It is a Special Number
Input : 220
Output : It is not a Special Number
Algorithm and Program given below :-
Algorithm :-
- Input a number
- Store it in another variable
- Now using while loop extract last digit of the number
- Than by using for loop store the factorial of the digit
- Than in another variable store the sum of factorial
- initialize sum variable =1 again
- update the value of number by storing it without its last digit
- After the condition satifies completely
- Compare the original number with the sum of factorial of digits
- If both are equal than display "It is a special number"
- Else display "It is not a special number
Program :-
import java.io.*;import java.util.*;
class Special
{
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
int n,p,i,num,sum=1,s=0;
System.out.println("Enter Number ");
n= in.nextInt(); //Input Number
p=n; // Storing the input number
while(n>0)
{
num=n%10; // extracting last digit of the number
for(i=num;i>=1;i--)
{
sum=sum*i; //storing factorial of the extracted digit
}
s= s+sum; // storing the sum of factorials
sum=1; //again initializing sum=1
n=n/10; // updating value of the number by storing it without its last digit.
}
if(s==p)// comparing sum of factorial with original number
{
System.out.println("It is a Special Number : "+p);
}
else
{
System.out.println("It is not a Special Number : "+p);
}
} // end of main method
} // end of class
Thanks :)
ReplyDelete