DEV Community

SILAMBARASAN A
SILAMBARASAN A

Posted on

EMIRP

Emirp Number – Explanation

What is an Emirp Number?

An Emirp number is a special type of prime number.

Conditions:

  • The number itself must be prime
  • Its reverse must also be prime
  • The reversed number should be different from the original

Example:

  • 17 → Prime
  • Reverse (71) → Prime
  • 17 ≠ 71 → Valid Emirp

So, 17 is an Emirp number

PYTHON :

def prime(no):
    div=2
    while div < no/2:
        if no % div == 0:
            return False
        div += 1
    return True

def reverse(no):
    rev = 0
    while no > 0:
        rev = rev * 10 + no % 10
        no = no // 10
    return rev

num = 17

if prime(num) and prime(reverse(num)):
    print(num, "is emirp")
else:
    print(num, "is not emirp")
Enter fullscreen mode Exit fullscreen mode

Start

Take number (17)

Check if prime → YES

Reverse number → 71

Check reverse is prime → YES

Both true → Emirp number

End

JAVA SCRIPT CODE :

function prime(no) {
    let div = 2;

    while (div < no / 2) {
        if (no % div === 0) {
            return false;
        }
        div++;
    }
    return true;
}

function reverse(no) {
    let rev = 0;

    while (no > 0) {
        rev = rev * 10 + (no % 10);
        no = Math.floor(no / 10);
    }
    return rev;
}

let num = 17;

if (prime(num) && prime(reverse(num))) {
    console.log(num + " is emirp");
} else {
    console.log(num + " is not emirp");
}
Enter fullscreen mode Exit fullscreen mode

JAVA CODE :

public class EmirpNumber {

    // Function to check prime
    static boolean prime(int no) {
        int div = 2;

        while (div < no / 2) {
            if (no % div == 0) {
                return false;
            }
            div++;
        }
        return true;
    }

    // Function to reverse number
    static int reverse(int no) {
        int rev = 0;

        while (no > 0) {
            rev = rev * 10 + (no % 10);
            no = no / 10;
        }
        return rev;
    }

    public static void main(String[] args) {
        int num = 17;

        if (prime(num) && prime(reverse(num))) {
            System.out.println(num + " is emirp");
        } else {
            System.out.println(num + " is not emirp");
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)