Friday, December 27, 2024
Google search engine
HomeData Modelling & AIFind Prime Adam integers in the given range

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

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 <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 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




<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>


Output: 
11    13    31
 

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

Auxiliary Space: O(1)
 

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments