Ir ao conteúdo
  • Cadastre-se

Trin00

Membro Pleno
  • Posts

    27
  • Cadastrado em

  • Última visita

Reputação

2
  1. Olá, estou tendo problema com dois problemas e já revisei eles várias vezes até vir postar algo aqui. O primeiro é o problema da conjectura de Goldbach (Que fala que todo número par é a soma de dois números primos). No programa a entrada deve conter o número a ser verificado e a saída são os dois números primos que sua soma resulta no número que foi colocado pelo usuário para ser verificado. O segundo é um simples programa para verificar se um número é perfeito ou não. (Definição de número perfeito: A soma dos seus divisores resulta nele mesmo. Por exemplo: 6: 3 + 2 + 1 = 6). Códigos: 1. #include <stdio.h> #include <stdlib.h> int primo (int n) { // A função retorna 1 se o número for primo e 0 se a sentença não for verdadeira. int r = 0, i = 2; for (i = 2; i < n/2; i++) { if (n % i == 0) { r = 0; } else { r = 1; } } return r; } void Goldbach (int P) { int p1 = P, p2 = 0, var = 0; while (var == 0) { p1--; p2++; if (primo(p1) == 1 && primo(p2) == 1) { var = 1; } } printf ("%d\n%d\n", p2, p1); getchar(); } int main (void) { int N; scanf ("%d", &N); while (N % 2 != 0) { scanf ("%d", &N); } Goldbach(N); getchar(); return(0); } 2. #include <stdlib.h> #include <stdio.h> void numeroPerfeito (int n) { int somaDivisores, divisor = n/2; while (divisor != 0) { if (n % divisor == 0) { somaDivisores += divisor; } divisor--; } if (n == somaDivisores) { printf ("S\n"); } if (n != somaDivisores) { printf ("N\n"); } } int main (void) { int n; scanf ("%d", &n); numeroPerfeito(n); return(0); } []'s. @Edit: Postei aqui por que os dois programas estão dando saídas erradas, logo o problema está no algoritmo. Outra coisa: eu postei aqui por que eu não quero pegar um algoritmo pronto. Quero dicas de como consertar o meu. Obrigado.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...