Boa tarde, 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 o que é um numero amigo eu vou deixar a definição no fim do Tópico). 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 impressos 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
#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 SAO NUMEROS AMIGOS!\n",n2,somareal);
}
//printf("\n--------------------------------------------\n");
soma1 = 0;
soma2 = 0;
}
return 0;
}
DEFINIÇÃO DE NÚMEROS AMIGOS:
Números amigos são dois números que estão ligados um ao outro por uma propriedade especial: cada um deles é a soma dos divisores do outro. (Um divisor de um número natural são os algarismos que dividem o número em partes exatamente iguais. Os divisores de 6, por exemplo, são 1, 2 e 3.) O menor par de números amigos é (220, 284). Os divisores de 220 são 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 e 110, cuja soma é 284; e os divisores de 284 são 1, 2, 4, 71 e 142, cuja soma é 220. Os números amigos eram conhecidos pelos Pitagóricos, que acreditavam que eles possuíam propriedades místicas.