Solução: Problema da conjectura de Goldbach (Admilson Souza)

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
#include <stdio.h>
 
int numeroPrimo(unsigned int numero) 
{ 
   int contador, resultado;
   if (numero < 2) return 0;
   if (numero == 2) return 1;
   for(contador = 2; contador < ((numero + 3) / 2) ; contador++) 
   {
      if (numero % contador) resultado = 1;
      else 
      {
         return 0;
      }
   }
   return resultado;
}
 
void decomporEmParcelas(unsigned int numero)
{
   unsigned int parcela1, parcela2, contador;
   contador = 1;
   do
   { 
      parcela1 = contador;
      parcela2 = numero - contador;  
      contador++;
   }while (numeroPrimo(parcela1) == 0 || numeroPrimo(parcela2) == 0);
   printf ("%u\n", parcela1);
   printf ("%u\n", parcela2); 
}
 
int main()
{  
   unsigned int P;
   do
   {
      scanf ("%u", &P);
   }
   while (P % 2 != 0 || P <= 2 || P > 4294967294);
   decomporEmParcelas(P); 
   return 0;
}