Aquí veremos si un número puede expresarse como la suma de dos números primos usando un programa en C. A continuación se muestran los ejemplos:
Entrada: 7
Salida: Sí
Explicación: 7 se puede expresar como la suma de 2 y 5 que son primosEntrada: 11
Salida: No
Explicación: No hay dos números primos tales que su suma sea 11
Enfoque: la idea es pasar de 2 a N y verificar si i y Ni son primos
A continuación se muestra el programa C para comprobar si un número se puede expresar como la suma de dos números primos:
C
// C program to check whether a // number can be expressed as sum // of two prime numbers #include <stdio.h> // Function to check prime number int isPrime(int n) { int i, isPrime = 1; // 0 and 1 are not prime numbers if (n == 0 || n == 1) { isPrime = 0; } else { for (i = 2; i <= n / 2; ++i) { if (n % i == 0) { isPrime = 0; break; } } } return isPrime; } // Driver code int main() { int n = 7, i, flag = 0; for (i = 2; i <= n / 2; ++i) { // condition for i to be a // prime number if (isPrime(i) == 1) { // condition for n-i to // be a prime number if (isPrime(n - i) == 1) { printf("Yes\n"); return 0; } } } printf("No\n"); return 0; }
Producción
Yes
Complejidad de Tiempo: O(N 2 )
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por ishankhandelwals y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA