63 lines
1.6 KiB
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;
|
|
|
|
} |