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

Ejemplo para comprobar si un entero (introducido por el usuario) se puede expresar como la suma de dos números primos de todas las combinaciones posibles con el uso de funciones.

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

  • C ++ para bucle
  • C ++ if, if … else y anidado if … else
  • Funciones C ++
  • Tipos de funciones definidas por el usuario en C ++

Este programa toma un número entero positivo del usuario y verifica si ese número se puede expresar como la suma de dos números primos.

Si el número se puede expresar como la suma de dos números primos, la salida muestra la combinación de los números primos.

Para realizar esta tarea, se crea una función definida por el usuario para verificar el número primo.

Ejemplo: comprobar si un número se puede expresar como la suma de dos números primos

 #include using namespace std; bool checkPrime(int n); int main() ( int n, i; bool flag = false; cout <> n; for(i = 2; i <= n/2; ++i) ( if (checkPrime(i)) ( if (checkPrime(n - i)) ( cout << n << " = " << i << " + " << n-i << endl; flag = true; ) ) ) if (!flag) cout << n << " can't be expressed as sum of two prime numbers."; return 0; ) // Check prime number bool checkPrime(int n) ( int i; bool isPrime = true; // 0 and 1 are not prime numbers if (n == 0 || n == 1) ( isPrime = false; ) else ( for(i = 2; i <= n/2; ++i) ( if(n % i == 0) ( isPrime = false; break; ) ) ) return isPrime; ) 

Salida

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

En este programa, usamos la checkPrime()función para verificar si un número es primo o no.

En main(), tomamos un número del usuario y lo almacenamos en la variable n.

También inicializamos una boolbandera de variable a false. Usamos esta variable para determinar si el número de entrada se puede expresar como la suma de dos números primos.

Luego iteramos un bucle de i = 2a i = n/2. En cada iteración, verificamos si i es un número primo o no.

Si i es primo, verificamos si n - i es primo o no.

Si n - i también es primo, entonces sabemos que n se puede expresar como la suma de dos números primos i y n - i.

Entonces, imprimimos el resultado en la pantalla y cambiamos el valor de flag a true. De lo contrario, la bandera permanece false.

Este proceso continúa hasta que termina el ciclo.

Si la bandera está quieta false, entonces sabemos que n no se puede expresar como la suma de dos números primos, e imprimimos ese mensaje en la pantalla.

Articulos interesantes...