Jump to content
Fórum Script Brasil
  • 0

Programa em C que encontre todos os números amigos


Jadiel

Question

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 to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148722
    • Total Posts
      644516
×
×
  • Create New...