Categories

# Emirp Number ISC 2013 Theory

An emirp number is a number which is prime backwards and forwards. Example: 13 and 31 are both prime numbers. Thus, 13 is an emirp number.

Design a class Emirp to check if a given number is Emirp number or not. Some of the members of the class are given below:

Class name: Emirp
Data members/instance variables:
n: stores the number.
rev: stores the reverse of the number.
f: stores the divisor.
Member functions:
Emirp(int num): to assign n = num, rev = 2, f = 2.
int isPrime(int x): check if the number is prime using the recursive technique and return 1 if prime otherwise return 0.
void isEmirp(): reverse the given number and check if both the original number and the reverse number are prime, by invoking the function isPrime() and display the result with an appropriate message.

Specify the class Emirp giving details of the constructor, int isPrime(int) and void isEmirp(). Define the main() function to create an object and call the methods to check for Emirp number.

``````import java.io.*;
class Emirp{
private int n;
private int rev;
private int f;
public Emirp(int num){
n = num;
rev = 0;
f = 2;
}
public int isPrime(int x){
if(x == 2)
return 1;
else if(x % f == 0 && x > f)
return 0;
else if(x == f)
return 1;
else{
f++;
return isPrime(x);
}
}
public void isEmirp(){
for(int i = n; i != 0; i /= 10)
rev = rev * 10 + i % 10;
if(isPrime(n) == 1){
f = 2;
if(isPrime(rev) == 1)
System.out.println(n + " is an Emirp number.");
else
System.out.println(n + " is not an Emirp number.");
}
else
System.out.println(n + " is not an Emirp number.");
}
public static void main(String[] args)throws IOException{