Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 11336

Conjectura de goldbach

$
0
0
Olá! Segue uma outra forma da validação da conjectura de goldbach: #include <stdio.h> #define MIN 700 #define MAX 1100 #define TRUE 1 #define FALSE 0 int confirma_goldbach(int); int e_primo(int); int mostra_goldbach(int, int, int); int main(){ register int i; for(i = MIN; i <= MAX; i += 2){ if(confirma_goldbach(i)) continue; } return 0; } int confirma_goldbach(int num){ register int i, j = 2; for(i = 2; i + j <= num; i++){ if(e_primo(i)) for(j = 2; j < num; j++){ if(e_primo(j)){ if(mostra_goldbach(i, j, num)) return TRUE; } } j = 2; } return FALSE; } int e_primo(int num_teste){ register int i, cont_div; cont_div = num_teste == 1 ? 1 : 2; for(i = 2; i <= num_teste / 2; i++){ if(num_teste % i == 0){ cont_div++; break; } } return (cont_div == 2 ? TRUE : FALSE); } int mostra_goldbach(int primo1, int primo2, int num_teste){ if(primo1 + primo2 == num_teste){ printf("%3d + %3d = %3d\n", primo1, primo2, num_teste); return TRUE; } else{ return FALSE; } }

Viewing all articles
Browse latest Browse all 11336

Trending Articles