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: 2
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: 3
Acercarse:
- En primer lugar, almacene la suma de 2 números dados en la variable de suma .
- 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).
- Si es igual a 1, asigne 2 a la temperatura variable y vaya al paso 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