Ir para conteúdo
Fórum Script Brasil
  • 0

Programa em C que encontre todos os números amigos


Jadiel

Pergunta

Bom dia pessoal, tudo bem?

Então galera meu professor pediu para a gente desenvolver um programa em C que encontre todos os pares de números amigos entre 1 e 1.000 (Para aqueles que não sabem oque é um numero amigo basta acessar esse link https://pt.wikipedia.org/wiki/Número_amigo). Então eu desenvolvi o programa mas não esta dando o resultado esperado já que de 1 a 1.000 os únicos pares de números amigos existente é 220 e 284 e não são esses números que estão sendo imprimidos na tela. Enfim  vou colar meu código aqui e gostaria que vocês me ajudassem a identificar onde esta o meu erro e corrigi-lo :)

------------------------------------------------------------------------------------------------------------------------------------------------ CÓDIGO ---------------------------------------------------------------------------------------------------------------------------------------------------

#include <stdio.h>
int main ()
{
    int n1, divisor, r, soma1 = 0, somareal;
    int n2, divisor2, r2, soma2 = 0,somareal2;
    
    for (n1 = 1, n2 = 1; n1 <= 1000; n1++, n2++)
    {        
        for (divisor = 1, divisor2 = 1; divisor <= 1000; divisor++, divisor2++)
        {            
            if (n1 % divisor == 0)
            {
                r = n1 / divisor;
                soma1 += divisor;
                //printf("\nN1 = %d\t DIVISOR = %d\t N1 / DIVISOR = %d\n",n1, divisor, r);
            }
            if (n2 % divisor2 == 0)
            {
                r2 = n2 / divisor2;
                soma2 +=divisor2;
                //printf("\nN2 = %d\t DIVISOR2 = %d\t N2 / DIVISOR2 = %d SOMA = %d\n",n2, divisor2, r2, soma2);
            }
            
        }
        somareal = soma1 - n1;
        somareal2 = soma2 - n2;
        //printf("\nSOMA: %d\n",somareal);
        //printf("SOMA2: %d\n",somareal2);
        if (n1 == somareal2 && n2 == somareal)
        {
            printf("N1 %d e SOMA2 %d         ",n1,somareal2);
            printf("N2 %d e SOMA %d            são NUMEROS AMIGOS!\n",n2,somareal);
        }
        //printf("\n--------------------------------------------\n");
        soma1 = 0;
        soma2 = 0;
        }
    
    
    return 0;
}

----------------------------------------------------------------------------------------------------------------------------------------- FIM DO CÓDIGO-----------------------------------------------------------------------------------------------------------------------------------------------

Obrigada pessoal!

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...