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:
- Iterate through the given range [L, R].
- For every number, check if the number is prime or not.
- If it is a prime, then check whether the number is an adam number or not.
- If a number is both prime and adam, then print the number.
Below is the implementation of the above approach:
C++
// C++ program to find all prime// adam numbers in the given range#include <bits/stdc++.h>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 notint 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 notint 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 rangevoid 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 codeint 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 rangeimport 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 rangedef 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 notdef 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 notdef 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 rangedef 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 codeL = 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 rangeusing 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 notpublic 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 notpublic 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 rangepublic 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 codepublic static void Main(String[] args){ int L = 5, R = 100; find(L, R);}}// This code is contributed by Rohit_ranjan |
Javascript
<script> // JavaScript program to find all prime // adam numbers in the given range function reverse(a) { let rev = 0; while (a != 0) { let r = a % 10; // reversing a number by taking // remainder at a time rev = rev * 10 + r; a = parseInt(a / 10, 10); } return (rev); } // Function to check if a number // is a prime or not function prime(a) { let k = 0; // Iterating till the number for (let 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 function adam(a) { // Reversing given number let r1 = reverse(a); // Squaring given number let s1 = a * a; // Squaring reversed number let s2 = r1 * r1; // Reversing the square of the // reversed number let 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 function find(m, n) { // If the first number is greater // than the second number, // print invalid if (m > n) { document.write(" INVALID INPUT " + "</br>"); } else { let c = 0; // Iterating through all the numbers // in the given range for (let i = m; i <= n; i++) { // Checking for prime number let l = prime(i); // Checking for Adam number let k = adam(i); if ((l == 1) && (k == 1)) { document.write(i + " "); } } } } let L = 5, R = 100; find(L, R);</script> |
11 13 31
Time Complexity: O(N2), where N is the maximum number R.
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

… [Trackback]
[…] Find More on to that Topic: geeksforgeeks.org/find-prime-adam-integers-in-the-given-range-l-r/ […]
… [Trackback]
[…] Find More on that Topic: geeksforgeeks.org/find-prime-adam-integers-in-the-given-range-l-r/ […]