Programa Java para verificar se um número pode ser expresso como a soma de dois números primos

Neste programa, você aprenderá a verificar se um determinado número pode ser expresso como a soma de dois números primos ou não. Isso é feito com a ajuda de loops e instruções break em Java.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:

  • Métodos Java
  • Java para Loop
  • Instrução Java if… else

Exemplo: represente um número como a soma de dois 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; ) )

Resultado

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

No exemplo acima, criamos o checkPrime()método para descobrir se um número é primo ou não. O método retorna truese o número passado for primo.

Aqui, temos um número 34 . O programa tenta verificar se 34 pode ser representado como a soma de dois números primos.

Trabalho de Programa

  • Primeiro, executamos um forloop de i = 2 to number / 2.
  • Dentro do forloop, usamos duas ifinstruções. A primeira instrução verifica se i é primo ou não.
    Se verdadeiro, a segunda ifinstrução verifica se number - ié primo ou não. Isso ocorre porque a soma de i e número - i é igual a número.
  • Se a segunda afirmação também for true, então podemos dizer que o número 34 é uma soma válida de dois números primos.

Artigos interessantes...