Difference between revisions of "Solução: Problema da conjectura de Goldbach (Admilson Souza)"

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
(New page: <code lang="c"> //Conjectura de Goldbach. #include <stdio.h> int numeroPrimo(int numero) { int contador, resultado; if (numero < 2) return 0; if (numero == 2) return 1; f...)
(No difference)

Revision as of 12:34, 1 April 2009

//Conjectura de Goldbach.
 
#include <stdio.h>
 
 
int numeroPrimo(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(int numero)
{
   int parcela1, parcela2, contador;
   contador = 1;
   do
   { 
      parcela1 = contador;
      parcela2 = numero - contador;  
      contador++;
   }while ((numeroPrimo(parcela1) == 0) || (numeroPrimo(parcela2) == 0));
   printf ("%d\n", parcela1);
   printf ("%d\n", parcela2); 
}
 
 
int main()
{  
   int P;
   do
   {
      printf ("Digite um numero par P (onde 2 < P <= 4294967294) :\n");
      scanf ("%d", &P);
   }
   while (P % 2 != 0 || P <= 2 || P > 4294967294);
   decomporEmParcelas(P); 
   return 0;
}