Encuentre el tercer número tal que la suma de los tres números sea primo

Dados dos números A y B. La tarea es encontrar el entero positivo más pequeño mayor o igual a 1 tal que la suma de los tres números se convierta en un número primo.
Ejemplos: 
 

Entrada: A = 2, B = 3 
Salida:
Explicación: 
El tercer número es 2 porque si sumamos los tres números la 
suma obtenida es 7 que es un número primo.
Entrada: A = 5, B = 3 
Salida:
 

Acercarse: 
 

  1. En primer lugar, almacene la suma de 2 números dados en la variable de suma .
  2. Ahora, verifique si bit a bit y (&) de suma y 1 es igual a 1 o no (comprobando si el número es impar o no).
  3. Si es igual a 1, asigne 2 a la temperatura variable y vaya al paso 4.
  4. De lo contrario, verifique el valor de la suma de la variable sum y temporal, ya sea un número primo o no. Si es primo, imprima el valor de la variable temporal; de lo contrario, agregue 2 a la variable temporal hasta que sea menor que un valor primo.

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

C++

// C++ implementation of the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function that will check
// whether number is prime or not
bool prime(int n)
{
    for (int i = 2; i * i <= n; i++) {
 
        if (n % i == 0)
            return false;
    }
    return true;
}
 
// Function to print the 3rd number
void thirdNumber(int a, int b)
{
    int sum = 0, temp = 0;
 
    sum = a + b;
    temp = 1;
 
    // If the sum is odd
    if (sum & 1) {
        temp = 2;
    }
 
    // If sum is not prime
    while (!prime(sum + temp)) {
        temp += 2;
    }
 
    cout << temp;
}
 
// Driver code
int main()
{
    int a = 3, b = 5;
 
    thirdNumber(a, b);
 
    return 0;
}

Java

// Java implementation of the approach
import java.util.*;
     
class GFG
{
     
// Function that will check
// whether number is prime or not
static boolean prime(int n)
{
    for (int i = 2; i * i <= n; i++)
    {
        if (n % i == 0)
            return false;
    }
    return true;
}
 
// Function to print the 3rd number
static void thirdNumber(int a, int b)
{
    int sum = 0, temp = 0;
 
    sum = a + b;
    temp = 1;
 
    // If the sum is odd
    if (sum == 0)
    {
        temp = 2;
    }
 
    // If sum is not prime
    while (!prime(sum + temp))
    {
        temp += 2;
    }
    System.out.print(temp);
}
 
// Driver code
static public void main (String []arr)
{
    int a = 3, b = 5;
     
    thirdNumber(a, b);
}
}
 
// This code is contributed by 29AjayKumar

Python3

# Python3 implementation of the above approach
 
# Function that will check
# whether number is prime or not
def prime(n):
    for i in range(2, n + 1):
        if i * i > n + 1:
            break
 
        if (n % i == 0):
            return False
 
    return True
 
# Function to print the 3rd number
def thirdNumber(a, b):
    summ = 0
    temp = 0
 
    summ = a + b
    temp = 1
 
    #If the summ is odd
    if (summ & 1):
        temp = 2
 
    #If summ is not prime
    while (prime(summ + temp) == False):
        temp += 2
 
    print(temp)
 
# Driver code
a = 3
b = 5
 
thirdNumber(a, b)
 
# This code is contributed by Mohit Kumar

C#

// C# implementation of the above approach
using System;
 
class GFG
{
     
// Function that will check
// whether number is prime or not
static bool prime(int n)
{
    for (int i = 2; i * i <= n; i++)
    {
        if (n % i == 0)
            return false;
    }
    return true;
}
 
// Function to print the 3rd number
static void thirdNumber(int a, int b)
{
    int sum = 0, temp = 0;
 
    sum = a + b;
    temp = 1;
 
    // If the sum is odd
    if (sum == 0)
    {
        temp = 2;
    }
 
    // If sum is not prime
    while (!prime(sum + temp))
    {
        temp += 2;
    }
    Console.Write (temp);
}
 
// Driver code
static public void Main ()
{
    int a = 3, b = 5;
     
    thirdNumber(a, b);
}
}
 
// This code is contributed by Sachin.

Javascript

<script>
    // Javascript implementation of the above approach
     
    // Function that will check
    // whether number is prime or not
    function prime(n)
    {
        for (let i = 2; i * i <= n; i++) {
 
            if (n % i == 0)
                return false;
        }
        return true;
    }
 
    // Function to print the 3rd number
    function thirdNumber(a, b)
    {
        let sum = 0, temp = 0;
 
        sum = a + b;
        temp = 1;
 
        // If the sum is odd
        if ((sum & 1) != 0) {
            temp = 2;
        }
 
        // If sum is not prime
        while (!prime(sum + temp)) {
            temp += 2;
        }
        document.write(temp);
    }
     
    let a = 3, b = 5;
    thirdNumber(a, b);
 
// This code is contributed by divyeshrabadiya07.
</script>
Producción: 

3

 

Complejidad del tiempo: O(sqrt(n))

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por Naman_Garg 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 *