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 :)
----------------------------------------------------------------------------------------------------------------------------------------- FIM DO CÓDIGO-----------------------------------------------------------------------------------------------------------------------------------------------
Pergunta
Jadiel
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
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.