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

From AdonaiMedrado.Pro.Br
Revision as of 12:34, 1 April 2009 by 200.17.147.2 (Talk) (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...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
//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;
}