C: Problema da conjectura de Goldbach

From AdonaiMedrado.Pro.Br
Jump to: navigation, search

Dificuldade única

A conjectura de Goldbach (ainda não provada) diz que qualquer número par maior ou igual a 4 é a soma de dois números primos.

Faça um programa, utilizando a linguagem C, que, recebendo um número P par (2<=P<=4294967294), seja capaz de retornar dois número inteiros correspondentes aos dois números primos cuja soma seja igual ao número par P.

Considere que:

  • Os valores de saída devem ser ordenados em ordem crescente.
  • Existindo mais de uma combinação possível, retorna-se aquela cujo primeiro valor seja o menor.
  • Não existindo valores (parabéns! você foi o primeiro no mundo que provou que a conjectura é falsa!) retorne -1.

Lembre-se: número primo é todo número inteiro maior que 1 que somente é divisível por si próprio e pela unidade.

Exemplo 1

Entrada

720

Saída

11
709

Exemplo 2

Entrada

666

Saída

5
661