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

En este programa, aprenderá a verificar si un número dado se puede expresar como una suma de dos números primos o no. Esto se hace con la ayuda de bucles y declaraciones de interrupción en Java.

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

  • Métodos Java
  • Java para Loop
  • Declaración if … else de Java

Ejemplo: representar un número como suma de dos números primos

 public class Main ( public static void main(String() args) ( int number = 34; boolean flag = false; for (int i = 2; i <= number / 2; ++i) ( // condition for i to be a prime number if (checkPrime(i)) ( // condition for n-i to be a prime number if (checkPrime(number - i)) ( // n = primeNumber1 + primeNumber2 System.out.printf("%d = %d + %d", number, i, number - i); flag = true; ) ) ) if (!flag) System.out.println(number + " cannot be expressed as the sum of two prime numbers."); ) // Function to check prime number static boolean checkPrime(int num) ( boolean isPrime = true; for (int i = 2; i <= num / 2; ++i) ( if (num % i == 0) ( isPrime = false; break; ) ) return isPrime; ) )

Salida

 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17

En el ejemplo anterior, hemos creado el checkPrime()método para encontrar si un número es primo o no. El método devuelve truesi el número pasado es primo.

Aquí tenemos un número 34 . El programa intenta comprobar si 34 se puede representar como la suma de dos números primos.

Trabajo del programa

  • Primero, ejecutamos un forbucle desde i = 2 to number / 2.
  • Dentro del forciclo, usamos dos ifdeclaraciones. La primera declaración verifica si i es primo o no.
    Si es cierto, la segunda ifdeclaración verifica si number - ies primo o no. Esto se debe a que la suma de i y el número - i es igual a número.
  • Si la segunda afirmación también lo es true, entonces podemos decir que el número 34 es una suma válida de dos números primos.

Articulos interesantes...