# Find Prime Adam integers in the given range [L, R]

• Last Updated : 08 Nov, 2021

Given two numbers L and R which signifies a range [L, R], the task is to print all the prime adam integers in this range.
Note: A number which is both prime, as well as adam, is known as a prime adam number.
Examples:

Input: L = 5, R = 100
Output: 11 13 31
Explanation:
The three numbers 11, 13, 31 are prime. They are also adam numbers.
Input: L = 70, R = 50
Output: Invalid Input

Approach: The idea used in this problem is to first check whether a number is prime or not. If it is prime, then check whether it is an adam number of not:

Below is the implementation of the above approach:

## C++

 `// C++ program to find all prime` `// adam numbers in the given range` `#include ` `using` `namespace` `std;`   `int` `reverse(``int` `a)` `{` `    ``int` `rev = 0;` `    ``while` `(a != 0)` `    ``{` `        ``int` `r = a % 10;`   `        ``// Reversing a number by taking ` `        ``// remainder at a time` `        ``rev = rev * 10 + r; ` `        ``a = a / 10;` `    ``}` `    ``return` `(rev);` `}`   `// Function to check if a number` `// is a prime or not` `int` `prime(``int` `a)` `{` `    ``int` `k = 0;`   `    ``// Iterating till the number` `    ``for``(``int` `i = 2; i < a; i++)` `    ``{` `        `  `       ``// Checking for factors` `       ``if` `(a % i == 0)` `       ``{` `           ``k = 1;` `           ``break``;` `       ``}` `    ``}`   `    ``// Returning 1 if the there are ` `    ``// no factors of the number other` `    ``// than 1 or itself` `    ``if` `(k == 1) ` `    ``{` `        ``return` `(0);` `    ``}` `    ``else` `    ``{` `        ``return` `(1);` `    ``}` `}`   `// Function to check whether a number` `// is an adam number or not` `int` `adam(``int` `a)` `{` `    `  `    ``// Reversing given number` `    ``int` `r1 = reverse(a);`   `    ``// Squaring given number` `    ``int` `s1 = a * a;`   `    ``// Squaring reversed number` `    ``int` `s2 = r1 * r1;`   `    ``// Reversing the square of the` `    ``// reversed number` `    ``int` `r2 = reverse(s2);`   `    ``// Checking if the square of the ` `    ``// number and the square of its ` `    ``// reverse are equal or not` `    ``if` `(s1 == r2) ` `    ``{` `        ``return` `(1);` `    ``}` `    ``else` `    ``{` `        ``return` `(0);` `    ``}` `}`   `// Function to find all the prime` `// adam numbers in the given range` `void` `find(``int` `m, ``int` `n)` `{`   `    ``// If the first number is greater` `    ``// than the second number,` `    ``// print invalid` `    ``if` `(m > n) ` `    ``{` `        ``cout << ``" INVALID INPUT "` `<< endl;` `    ``}` `    ``else` `    ``{` `        ``int` `c = 0;`   `        ``// Iterating through all the ` `        ``// numbers in the given range` `        ``for``(``int` `i = m; i <= n; i++)` `        ``{` `            `  `           ``// Checking for prime number` `           ``int` `l = prime(i);` `           ``// Checking for Adam number` `           ``int` `k = adam(i);` `           ``if` `((l == 1) && (k == 1))` `           ``{` `               ``cout << i << ``"\t"``;` `           ``}` `        ``}` `    ``}` `}`   `// Driver code` `int` `main()` `{` `    ``int` `L = 5, R = 100;` `    `  `    ``find(L, R);` `    ``return` `0;` `}`   `// This code is contributed by Amit Katiyar`

## Java

 `// Java program to find all prime` `// adam numbers in the given range` `import` `java.io.*;`   `class` `GFG {`   `    ``public` `static` `int` `reverse(``int` `a)` `    ``{` `        ``int` `rev = ``0``;` `        ``while` `(a != ``0``) {` `            ``int` `r = a % ``10``;`   `            ``// reversing a number by taking ` `            ``// remainder at a time` `            ``rev = rev * ``10` `+ r; ` `            ``a = a / ``10``;` `        ``}` `        ``return` `(rev);` `    ``}`   `    ``// Function to check if a number` `    ``// is a prime or not` `    ``public` `static` `int` `prime(``int` `a)` `    ``{` `        ``int` `k = ``0``;`   `        ``// Iterating till the number` `        ``for` `(``int` `i = ``2``; i < a; i++) {`   `            ``// Checking for factors` `            ``if` `(a % i == ``0``) {` `                ``k = ``1``;` `                ``break``;` `            ``}` `        ``}`   `        ``// Returning 1 if the there are no factors` `        ``// of the number other than 1 or itself` `        ``if` `(k == ``1``) {` `            ``return` `(``0``);` `        ``}` `        ``else` `{` `            ``return` `(``1``);` `        ``}` `    ``}`   `    ``// Function to check whether a number` `    ``// is an adam number or not` `    ``public` `static` `int` `adam(``int` `a)` `    ``{` `        ``// Reversing given number` `        ``int` `r1 = reverse(a);`   `        ``// Squaring given number` `        ``int` `s1 = a * a;`   `        ``// Squaring reversed number` `        ``int` `s2 = r1 * r1;`   `        ``// Reversing the square of the` `        ``// reversed number` `        ``int` `r2 = reverse(s2);`   `        ``// Checking if the square of the number` `        ``// and the square of its reverse` `        ``// are equal or not` `        ``if` `(s1 == r2) {` `            ``return` `(``1``);` `        ``}` `        ``else` `{` `            ``return` `(``0``);` `        ``}` `    ``}` `    ``// Function to find all the prime` `    ``// adam numbers in the given range` `    ``public` `static` `void` `find(``int` `m, ``int` `n)` `    ``{`   `        ``// If the first number is greater` `        ``// than the second number,` `        ``// print invalid` `        ``if` `(m > n) {` `            ``System.out.println(``" INVALID INPUT "``);` `        ``}` `        ``else` `{`   `            ``int` `c = ``0``;`   `            ``// Iterating through all the numbers` `            ``// in the given range` `            ``for` `(``int` `i = m; i <= n; i++) {`   `                ``// Checking for prime number` `                ``int` `l = prime(i);`   `                ``// Checking for Adam number` `                ``int` `k = adam(i);` `                ``if` `((l == ``1``) && (k == ``1``)) {` `                    ``System.out.print(i + ``"\t"``);` `                ``}` `            ``}` `        ``}` `    ``}`   `    ``// Driver code` `    ``public` `static` `void` `main(String[] args)` `    ``{`   `        ``int` `L = ``5``, R = ``100``;` `        ``find(L, R);` `    ``}` `}`

## Python3

 `# Python3 program to find all prime` `# adam numbers in the given range`   `def` `reverse(a):`   `    ``rev ``=` `0``;` `    ``while` `(a !``=` `0``):` `    `  `        ``r ``=` `a ``%` `10``;`   `        ``# Reversing a number by taking ` `        ``# remainder at a time` `        ``rev ``=` `rev ``*` `10` `+` `r; ` `        ``a ``=` `a ``/``/` `10``;` `    `  `    ``return``(rev);`   `# Function to check if a number` `# is a prime or not` `def` `prime(a):`   `    ``k ``=` `0``;`   `    ``# Iterating till the number` `    ``for` `i ``in` `range``(``2``, a):`   `        ``# Checking for factors` `        ``if` `(a ``%` `i ``=``=` `0``):` `            ``k ``=` `1``;` `            ``break``;`   `    ``# Returning 1 if the there are ` `    ``# no factors of the number other` `    ``# than 1 or itself` `    ``if` `(k ``=``=` `1``):` `        ``return` `(``0``);` `    ``else``:` `        ``return` `(``1``);`   `# Function to check whether a number` `# is an adam number or not` `def` `adam(a):`   `    ``# Reversing given number` `    ``r1 ``=` `reverse(a);`   `    ``# Squaring given number` `    ``s1 ``=` `a ``*` `a;`   `    ``# Squaring reversed number` `    ``s2 ``=` `r1 ``*` `r1;`   `    ``# Reversing the square of the` `    ``# reversed number` `    ``r2 ``=` `reverse(s2);`   `    ``# Checking if the square of the ` `    ``# number and the square of its ` `    ``# reverse are equal or not` `    ``if` `(s1 ``=``=` `r2): ` `        ``return` `(``1``);` `    ``else``:` `        ``return` `(``0``);` `    `  `# Function to find all the prime` `# adam numbers in the given range` `def` `find(m, n):`   `    ``# If the first number is greater` `    ``# than the second number,` `    ``# print invalid` `    ``if` `(m > n): ` `        ``print``(``"INVALID INPUT\n"``);` `    ``else``:` `        ``c ``=` `0``;`   `    ``# Iterating through all the ` `    ``# numbers in the given range` `    ``for` `i ``in` `range``(m, n):`   `        ``# Checking for prime number` `        ``l ``=` `prime(i);`   `        ``# Checking for Adam number` `        ``k ``=` `adam(i);` `        ``if` `((l ``=``=` `1``) ``and` `(k ``=``=` `1``)):` `            ``print``(i, ``"\t"``, end ``=` `" "``);` `            `  `# Driver code` `L ``=` `5``; R ``=` `100``;` `find(L, R);`   `# This code is contributed by Code_Mech`

## C#

 `// C# program to find all prime` `// adam numbers in the given range` `using` `System;`   `class` `GFG{`   `public` `static` `int` `reverse(``int` `a)` `{` `    ``int` `rev = 0;` `    ``while` `(a != 0)` `    ``{` `        ``int` `r = a % 10;`   `        ``// Reversing a number by taking ` `        ``// remainder at a time` `        ``rev = rev * 10 + r; ` `        ``a = a / 10;` `    ``}` `    ``return` `(rev);` `}`   `// Function to check if a number` `// is a prime or not` `public` `static` `int` `prime(``int` `a)` `{` `    ``int` `k = 0;`   `    ``// Iterating till the number` `    ``for``(``int` `i = 2; i < a; i++)` `    ``{` `       `  `       ``// Checking for factors` `       ``if` `(a % i == 0)` `       ``{` `           ``k = 1;` `           ``break``;` `       ``}` `    ``}` `    `  `    ``// Returning 1 if the there are no factors` `    ``// of the number other than 1 or itself` `    ``if` `(k == 1)` `    ``{` `        ``return` `(0);` `    ``}` `    ``else` `    ``{` `        ``return` `(1);` `    ``}` `}`   `// Function to check whether a number` `// is an adam number or not` `public` `static` `int` `adam(``int` `a)` `{` `    `  `    ``// Reversing given number` `    ``int` `r1 = reverse(a);`   `    ``// Squaring given number` `    ``int` `s1 = a * a;`   `    ``// Squaring reversed number` `    ``int` `s2 = r1 * r1;`   `    ``// Reversing the square of the` `    ``// reversed number` `    ``int` `r2 = reverse(s2);`   `    ``// Checking if the square of the ` `    ``// number and the square of its ` `    ``// reverse are equal or not` `    ``if` `(s1 == r2)` `    ``{` `        ``return` `(1);` `    ``}` `    ``else` `    ``{` `        ``return` `(0);` `    ``}` `}`   `// Function to find all the prime` `// adam numbers in the given range` `public` `static` `void` `find(``int` `m, ``int` `n)` `{`   `    ``// If the first number is greater` `    ``// than the second number,` `    ``// print invalid` `    ``if` `(m > n)` `    ``{` `        ``Console.WriteLine(``"INVALID INPUT"``);` `    ``}` `    ``else` `    ``{` `        `  `        ``// Iterating through all the numbers` `        ``// in the given range` `        ``for``(``int` `i = m; i <= n; i++)` `        ``{` `           `  `           ``// Checking for prime number` `           ``int` `l = prime(i);` `           `  `           ``// Checking for Adam number` `           ``int` `k = adam(i);` `           ``if` `((l == 1) && (k == 1))` `           ``{` `               ``Console.Write(i + ``"\t"``);` `           ``}` `        ``}` `    ``}` `}`   `// Driver code` `public` `static` `void` `Main(String[] args)` `{` `    ``int` `L = 5, R = 100;` `    ``find(L, R);` `}` `}`   `// This code is contributed by Rohit_ranjan`

## Javascript

 ``

Output:
11    13    31

Time Complexity: O(N2), where N is the maximum number R.

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up
Recommended Articles
Page :