Curso-lenguaje-C/curso-juantxi/Ejercicios/0502numerosAmigos.c

63 lines
1.6 KiB
C

#include<stdio.h>
int main (){
// Variables
int numero1,numero2;
int amigos=0;
int divisores1; //aquí acumulamos la suma de los divisores del primer número
int divisores2;
int i;
//
printf("\nComprueba si dos números son amigos");
printf("\n###########");
printf("\n");
// Solicitar numero entero hasta valor -1
do {
printf("\nIntroduce un número: ");
scanf(" %d",&numero1);
printf("\nIntroduce otro número: ");
scanf(" %d",&numero2);
//if(numero1!=-1 && numero1>0 && numero2!=-1 && numero2>0){
if(numero1<=0 || numero2<=0){
// Comprobación
//
printf("\nUno de los dos numeros (o los dos) no es positivo");
}else{
divisores1=0;
for(i=1; i<numero1; i++){
if(numero1%i==0){
divisores1=divisores1+i;
}
}
divisores2=0;
for(i=1; i<numero2; i++){
if(numero2%i==0){
divisores2=divisores2+i;
}
}
if(numero1==divisores2 && numero2==divisores1){
amigos=1;
printf("\n%d y %d son amigos", numero1, numero2);
printf("\nSus divisores son %d y %d\n", divisores1, divisores2);
}else{
amigos=0;
printf("\n%d y %d no son amigos", numero1, numero2);
printf("\nSus divisores son %d y %d\n", divisores1, divisores2);
}
}
// condición para salir del bucle
} while(amigos==0);
return 0;
}