A Adam-Prime number is a number in which is both Adam and Prime Number. Adam Number is number in which square of a number and the sqaure of its reverse are reverse to each other.
import java.util.Scanner;
class AdamPrime {
public static void main(String[] args) {
AdamPrime a = new AdamPrime();
a.input();
}
void input() {
Scanner sc = new Scanner(System.in);
System.out.print("Enter Range m, n: ");
int m = sc.nextInt(), n = sc.nextInt();
if (m > n) {
System.out.println("Invalid Range");
System.exit(0);
}
int cn = 0;
System.out.print("Adam-Prime Integers are:- ");
for (int x = m; x <= n; x++)
if (is_prime(x) && is_adam(x)) {
System.out.print(x + ", ");
cn++;
}
System.out.println("\nFreequency: " + cn);
sc.close();
}
boolean is_prime(int n) {
for (int x = 2; x < n; x++)
if (n % x == 0)
return false;
return true;
}
boolean is_adam(int n) {
int n2 = n * n, n_rev = rev(n);
int n_rev2 = n_rev * n_rev;
return n2 == rev(n_rev2);
}
int rev(int n) {
int r = 0;
while (n != 0) {
r = r * 10 + (n % 10);
n /= 10;
}
return r;
}
}