Comprobar si un número es primo en Volteado al revés, Espejo volteado y Espejo volteado al revés

Dado un número entero N , la tarea es verificar si N es un número primo en las formas Flipped Down, Mirror Flipped y Mirror Flipped Down del número dado.
Ejemplos:

Entrada: N = 120121 
Salida:
Explicación: 
Formas invertidas del número:
Volteado al revés: 151051
Espejo volteado: 121021
Espejo al revés: 150151
Dado que 1510151 y 121021 son números primos, los números invertidos son primos.

Entrada: N = 12
Salida: No
Explicación:
Formas invertidas del número:
Volteado al revés: 15
Espejo volteado: 21
Espejo al revés: 51
Todos los números volteados no son primos.

Enfoque: siga los pasos a continuación para resolver el problema:

  1. Dado que el número N tiene que ser primo en cada una de las formas Volteado al revés, Espejo volteado y Espejo al revés, los únicos dígitos posibles que debe contener son {0, 1, 2, 5, 8}.
  2. Por tanto, el problema se reduce a comprobar si el número es primo o no y si está formado únicamente por los dígitos 0, 1, 2, 5 y 8 .
  3. Si es cierto, escriba “ ”.
  4. De lo contrario, escriba “ No ”.

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ program to implement
// the above approach
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to check if N
// contains digits
// 0, 1, 2, 5, 8 only
bool checkDigits(int n)
{
    // Extract digits of N
    do {
        int r = n % 10;
 
        // Return false if any of
        // these digits are present
        if (r == 3 || r == 4 || r == 6
            || r == 7 || r == 9)
            return false;
 
        n /= 10;
    } while (n != 0);
 
    return true;
}
 
// Function to check if
// N is prime or not
bool isPrime(int n)
{
    if (n <= 1)
        return false;
 
    // Check for all factors
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0)
            return false;
    }
    return true;
}
 
// Function to check if n is prime
// in all the desired forms
int isAllPrime(int n)
{
    return isPrime(n)
           && checkDigits(n);
}
 
// Driver Code
int main()
{
    int N = 101;
 
    if (isAllPrime(N))
        cout << "Yes";
    else
        cout << "No";
    return 0;
}

Java

// Java program to implement
// the above approach
import java.util.*;
class GFG{
 
// Function to check if N
// contains digits
// 0, 1, 2, 5, 8 only
static boolean checkDigits(int n)
{
  // Extract digits of N
  do
  {
    int r = n % 10;
 
    // Return false if any of
    // these digits are present
    if (r == 3 || r == 4 ||
        r == 6 || r == 7 || r == 9)
      return false;
 
    n /= 10;
  } while (n != 0);
 
  return true;
}
 
// Function to check if
// N is prime or not
static boolean isPrime(int n)
{
  if (n <= 1)
    return false;
 
  // Check for all factors
  for (int i = 2; i * i <= n; i++)
  {
    if (n % i == 0)
      return false;
  }
  return true;
}
 
// Function to check if n is prime
// in all the desired forms
static boolean isAllPrime(int n)
{
  return isPrime(n) &&
         checkDigits(n);
}
 
// Driver Code
public static void main(String[] args)
{
  int N = 101;
 
  if (isAllPrime(N))
    System.out.print("Yes");
  else
    System.out.print("No");
}
}
 
// This code is  contributed by gauravrajput1

Python3

# Python3 program to implement
# the above approach
 
# Function to check if N
# contains digits
# 0, 1, 2, 5, 8 only
def checkDigits(n):
     
    # Extract digits of N
    while True:
        r = n % 10
 
        # Return false if any of
        # these digits are present
        if (r == 3 or r == 4 or
            r == 6 or r == 7 or
            r == 9):
            return False
 
        n //= 10
 
        if n == 0:
            break
 
    return True
 
# Function to check if
# N is prime or not
def isPrime(n):
     
    if (n <= 1):
        return False
 
    # Check for all factors
    for i in range(2, n + 1):
        if i * i > n:
            break
         
        if (n % i == 0):
            return False
             
    return True
 
# Function to check if n is prime
# in all the desired forms
def isAllPrime(n):
     
    return isPrime(n) and checkDigits(n)
 
# Driver Code
if __name__ == '__main__':
     
    N = 101
 
    if (isAllPrime(N)):
        print("Yes")
    else:
        print("No")
 
# This code is contributed by mohit kumar 29

C#

// C# program to implement
// the above approach
using System;
 
class GFG{
 
// Function to check if N
// contains digits
// 0, 1, 2, 5, 8 only
static bool checkDigits(int n)
{
   
  // Extract digits of N
  do
  {
    int r = n % 10;
 
    // Return false if any of
    // these digits are present
    if (r == 3 || r == 4 ||
        r == 6 || r == 7 ||
        r == 9)
      return false;
 
    n /= 10;
  } while (n != 0);
 
  return true;
}
 
// Function to check if
// N is prime or not
static bool isPrime(int n)
{
  if (n <= 1)
    return false;
 
  // Check for all factors
  for (int i = 2; i * i <= n; i++)
  {
    if (n % i == 0)
      return false;
  }
  return true;
}
 
// Function to check if n is prime
// in all the desired forms
static bool isAllPrime(int n)
{
  return isPrime(n) &&
         checkDigits(n);
}
 
// Driver Code
public static void Main(String[] args)
{
  int N = 101;
 
  if (isAllPrime(N))
    Console.Write("Yes");
  else
    Console.Write("No");
}
}
 
// This code is contributed by Rajput-Ji

Javascript

<script>
 
// Javascript program to implement
// the above approach
 
// Function to check if N
// contains digits
// 0, 1, 2, 5, 8 only
function checkDigits(n)
{
    // Extract digits of N
    do {
        var r = n % 10;
 
        // Return false if any of
        // these digits are present
        if (r == 3 || r == 4 || r == 6
            || r == 7 || r == 9)
            return false;
 
        n = parseInt(n/10);
    } while (n != 0);
 
    return true;
}
 
// Function to check if
// N is prime or not
function isPrime(n)
{
    if (n <= 1)
        return false;
 
    // Check for all factors
    for (var i = 2; i * i <= n; i++) {
        if (n % i == 0)
            return false;
    }
    return true;
}
 
// Function to check if n is prime
// in all the desired forms
function isAllPrime(n)
{
    return isPrime(n)
           && checkDigits(n);
}
 
// Driver Code
 
var N = 101;
if (isAllPrime(N))
    document.write("Yes");
else
    document.write("No");
 
 
</script>
Producción: 

Yes

 

Complejidad temporal: O(N)
Espacio auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por spp____ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *