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

Exemplo para verificar se um inteiro (inserido pelo usuário) pode ser expresso como a soma de dois números primos de todas as combinações possíveis com o uso de funções.

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

  • C ++ para Loop
  • C ++ if, if … else e aninhado if … else
  • Funções C ++
  • Tipos de funções definidas pelo usuário em C ++

Este programa pega um inteiro positivo do usuário e verifica se esse número pode ser expresso como a soma de dois números primos.

Se o número puder ser expresso como a soma de dois números primos, a saída mostrará a combinação dos números primos.

Para executar esta tarefa, uma função definida pelo usuário é criada para verificar o número primo.

Exemplo: verifique se um número pode ser expresso como a soma de dois 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; ) 

Resultado

 Insira um número inteiro positivo: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

Neste programa, usamos a checkPrime()função para verificar se um número é primo ou não.

Em main(), pegamos um número do usuário e o armazenamos na variável n.

Também inicializamos um boolsinalizador de variável para false. Usamos essa variável para determinar se o número de entrada pode ser expresso como a soma de dois números primos.

Em seguida, iteramos um loop de i = 2para i = n/2. Em cada iteração, verificamos se i é um número primo ou não.

Se i é primo, verificamos se n - i é primo ou não.

Se n - i também for primo, então sabemos que n pode ser expresso como a soma de dois números primos ie n - i.

Assim, imprimimos o resultado na tela e alteramos o valor do sinalizador para true. Caso contrário, a bandeira permanece false.

Este processo continua até que o loop termine.

Se flag for still false, então sabemos que n não pode ser expresso como a soma de dois primos e imprimimos essa mensagem na tela.

Artigos interessantes...