Difference between revisions of "Solução: Problema da conjectura de Goldbach (Admilson Souza)"
From AdonaiMedrado.Pro.Br
(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...) |
|||
Line 1: | Line 1: | ||
<code lang="c"> | <code lang="c"> | ||
− | |||
− | |||
#include <stdio.h> | #include <stdio.h> | ||
− | + | int numeroPrimo(unsigned int numero) | |
− | int numeroPrimo(int numero) | + | |
{ | { | ||
int contador, resultado; | int contador, resultado; | ||
Line 22: | Line 19: | ||
} | } | ||
− | void decomporEmParcelas(int numero) | + | void decomporEmParcelas(unsigned int numero) |
{ | { | ||
− | int parcela1, parcela2, contador; | + | unsigned int parcela1, parcela2, contador; |
contador = 1; | contador = 1; | ||
do | do | ||
Line 31: | Line 28: | ||
parcela2 = numero - contador; | parcela2 = numero - contador; | ||
contador++; | contador++; | ||
− | }while | + | }while (numeroPrimo(parcela1) == 0 || numeroPrimo(parcela2) == 0); |
− | printf ("% | + | printf ("%u\n", parcela1); |
− | printf ("% | + | printf ("%u\n", parcela2); |
} | } | ||
− | |||
int main() | int main() | ||
{ | { | ||
− | int P; | + | unsigned int P; |
do | do | ||
{ | { | ||
− | + | scanf ("%u", &P); | |
− | scanf ("% | + | |
} | } | ||
while (P % 2 != 0 || P <= 2 || P > 4294967294); | while (P % 2 != 0 || P <= 2 || P > 4294967294); |
Latest revision as of 00:57, 2 April 2009
#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; }