Programa en C para comprobar si un número se puede expresar como suma de dos números primos

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:
Explicación: 7 se puede expresar como la suma de 2 y 5 que son primos

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

Deja una respuesta

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