Java - Numeros Amigos con Recursividad

 
Vista:
sin imagen de perfil

Numeros Amigos con Recursividad

Publicado por Abigail (4 intervenciones) el 11/09/2016 16:22:34
Alguien me puede decir como hacer el programa de numeros amigos en forma recursiva, en java..???

Dos números enteros positivos A y B son números amigos si la suma de los divisores propios de A es igual a B y la suma de los divisores propios de B es igual a A.

Los divisores propios de un número incluyen la unidad pero no el propio número.

Un ejemplo de números amigos son los números 220 y 284.
Los divisores propios de 220 son 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 y 110.
La suma de los divisores propios de 220 da como resultado 284
Los divisores propios de 284 son 1, 2, 4, 71 y 142.
La suma de los divisores propios de 284 da como resultado 220.
Por lo tanto 220 y 284 son amigos.

aca les dejo el codigo.

public class NumerosAmigos {
public static void main(String[] args) {
int i,suma=0, n1, n2;
Scanner sc = new Scanner(System.in);
System.out.print("Introduce primer número: ");
n1 = sc.nextInt();
System.out.print("Introduce segundo número: ");
n2 = sc.nextInt();
for(i=1;i<n1;i++){ // for para sumar todos los divisores propios de n1
if(n1%i==0){
suma=suma+i;
}
}
// si la suma de los divisores de n1 es igual a n2
if(suma==n2){
suma=0;
for(i=1;i<n2;i++){ // sumo los divisores propios de n2
if(n2%i==0){
suma=suma+i;
}
}
// si la suma de los divisores de n2 es igual a n1
if(suma==n1){
System.out.println("Son Amigos");
}else{
System.out.println("No son amigos");
}
}
else{
System.out.println("No son amigos");
}
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder