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

En este ejemplo, aprenderá a verificar si un número entero ingresado por el usuario se puede expresar como la suma de dos números primos de todas las combinaciones posibles.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación en C:

  • C if … else Statement
  • C para bucle
  • Funciones C
  • C Funciones definidas por el usuario

Para realizar esta tarea, crearemos una función llamada checkPrime().

Los checkPrime()Devuelve 1 si el número pasa a la función es un número primo.

Entero como suma de dos números primos

#include int checkPrime(int n); int main() ( int n, i, flag = 0; printf("Enter a positive integer: "); scanf("%d", &n); for (i = 2; i <= n / 2; ++i) ( // condition for i to be a prime number if (checkPrime(i) == 1) ( // condition for n-i to be a prime number if (checkPrime(n - i) == 1) ( printf("%d = %d + %d", n, i, n - i); flag = 1; ) ) ) if (flag == 0) printf("%d cannot be expressed as the sum of two prime numbers.", n); return 0; ) // function to check prime number int checkPrime(int n) ( int i, isPrime = 1; for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = 0; break; ) ) return isPrime; ) 

Salida

Ingrese un número entero positivo: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

Articulos interesantes...