Emirp Number Java Program | ISC Computer Science 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 nn): to assign n = nn, rev = 0 and 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(int) and display the result with an appropriate message

Specify the class Emirp giving details of the constructor(int), 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.util.Scanner;
class Emirp{
    int n;
    int rev;
    int f;
    public Emirp(int nn){
        n = nn;
        rev = 0;
        f = 2;
    }
    public int isprime(int x){
        if(x < 2)
            return 0;
        if(x == f)
            return 1;
        if(x % f == 0)
            return 0;
        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("Emirp number!");
            else
                System.out.println("Not an Emirp number.");
        }
        else
            System.out.println("Not an Emirp number.");
    }
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        System.out.print("Enter the number: ");
        int num = Integer.parseInt(in.nextLine());
        Emirp obj = new Emirp(num);
        obj.isEmirp();
    }
}

Leave a Reply

Your email address will not be published. Required fields are marked *