Related Articles

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

• Last Updated : 15 Jun, 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.

Attention reader! Don’t stop learning now. Participate in the Scholorship Test for First-Step-to-DSA Course for Class 9 to 12 students.

My Personal Notes arrow_drop_up