Olá galera,estou resolvendo uns exercícios em C mas empaquei neste:
15) Dois numeros n1 e n2 sao ditos amigos entre si se a soma dos divisores de n1 (excluindo o proprio n1) eh igual a n2, e a soma dos divisores de n2 (excluindo o proprio n2) eh igual a n1.
Ex: 220 e 284. Façaa um programa que leia 2 valores e verifique se sao amigos entre si escrevendo uma mensagemapropriada.
Quando vou executa-lo ele le apenas a primeira variável e encerra a execução na sequencia,imprimindo o valor errado no final.
A baixo o código:
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<locale.h>
int main()
{
int n1,n2,cont,cont2,i;
scanf("N1=%i",&n1);
scanf("N2=%i",&n2);
cont=0;
cont2=0;
for(i=1;i<n1;i=i+1){
if(n1%i==0)
cont=cont+i;
}
for(i=1;i<n2;i=i+1){
if(n2%i==0)
cont2=cont2+i;
}
if(cont==n2 && cont2==n1)
printf("Os numeros são amigos!");
if(cont!=n2)
printf("Os numeros não são amigos!");
system("pause");
}
Agradeço desde já!