In this tutorial of Emirp Number in Java, we will write a program to check for the Emirp number in Java. Let us start by understanding, what is Emirp number.
Emirp Number
A number is said to be an Emirp number if it is a prime number and when reversed, the result formed is also a Prime Number. Emirp is backward for Prime, which indicates that a number, when formed backward, is also a prime number. Hence also known as twisted prime numbers.
Example: 13, 79, 199, 107 etc.
Explanation: Consider a Prime Number, 13
The reverse of 13: 31, which is also a prime number. Therefore, 13 is an Emirp Number.
Java Program to check for Emirp Number Using Function.
import java.io.*;
import java.util.*;
public class EmirpNumber
{
//function to check for prime, returns boolean
public static boolean isPrime(int n)
{
if (n <= 1)
return false;
for (int i = 2; i < n; i++)
{
if (n % i == 0)
return false;
}
return true;
}
//function to check for emirp number, returns boolean
public static boolean isEmirp(int n)
{
//calls isPrime function and checks for prime
if (isPrime(n) == false)
return false;
int rev = 0;
while (n != 0)
{
int digit = n % 10;
rev = rev *10 + digit;
n = n / 10;
}
//after reverse again checks for prime
return isPrime(rev);
}
//main function
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number: ");
int n = sc.nextInt();
//Display accordingly
if (isEmirp(n) == true)
System.out.println(n + " is an Emirp number.");
else
System.out.println(n + " is not an Emirp number.");
}
}
Output:
//First Run
Enter a number: 13
13 is an Emirp number.
//Second Run
Enter a number: 107
107 is an Emirp number.
//Third Run
Enter a number: 23
23 is not an Emirp number.