Design a class PetersonNum to check whether a number is a Peterson number or not
Explanation :
A number is a Peterson Number if the sum of factorials of each digit is equal to the actual number.
Example:
Given Number: 145
= 1 + (4*3*2*1)+(5*4*3*2*1)
= 145
Hence,145 is a Peterson Number.
import java.util.Scanner ;
class PetersonNum
{
private static int num ;
PetersonNum(int n)
{
num = n ;
}
static int factorial(int n )
{
int result = 1 ;
for(int i=n;i>0;i--)
result *= i ;
return result ;
}
void display()
{
int temp = num ;
int newNum = 0 ;
while(num!=0)
{
newNum += factorial(num%10) ;
num/= 10 ;
}
if(temp==newNum)
System.out.println(temp+" is a Peterson Number !") ;
else
System.out.println(temp+" is not a Peterson Number ") ;
}
public static void main(String args[])
{
Scanner sc = new Scanner(System.in) ;
System.out.println("Enter a number ") ;
PetersonNum run = new PetersonNum(sc.nextInt()) ;
run.display() ;
}
}
Codely Prompt ----->java PetersonNum.java
Enter a number
145
145 is a Peterson Number !