13
is a prime number and 31
is also a prime number. Hence, 13 is an Emirp number.import java.util.Scanner;
public class EmirpNumber {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number: ");
int n = sc.nextInt();
if (isEmirp(n)) {
System.out.println(n + " is an Emirp number");
} else {
System.out.println(n + " is not an Emirp number");
}
sc.close();
}
public static boolean isEmirp(int n) {
if (!isPrime(n)) {
return false;
}
int reverse = reverseNumber(n);
return n != reverse && isPrime(reverse);
}
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
public static int reverseNumber(int n) {
int reverse = 0;
while (n != 0) {
reverse = reverse * 10 + n % 10;
n = n / 10;
}
return reverse;
}
}
Enter a number: 13
13 is an Emirp number
Enter a number: 16
16 is not an Emirp number
isEmirp()
method. The isEmirp()
method first checks if the number is prime or not using the isPrime()
method. Emirp
number. If it is prime, then we reverse the digits of the number using the reverseNumber()
method and check if the reversed number is not equal to the original number and is also a prime number. If both the conditions are true, then the number is an Emirp number.