diff --git a/src/main/java/examenes/examen20241025/Ejercicio_a.java b/src/main/java/examenes/examen20241025/Ejercicio_a.java new file mode 100644 index 0000000..56356d2 --- /dev/null +++ b/src/main/java/examenes/examen20241025/Ejercicio_a.java @@ -0,0 +1,36 @@ +package examenes.examen20241025; + +import static examenes.examen20241025.utils.Utils.*; + +public class Ejercicio_a { + public static void main(String[] args) { + + //Solicitamos un número para buscar su amigo + int numDado = solicitarIntScanner("Introduzca el número amigable a buscar: "); + + //Probamos hasta encontrar uno o si no vemos ninguno, ponemos un límite + //El límite me lo ha dado Rafa + for (int i = numDado; i < 1000000000; i++) { + //Si la suma de lso divisores es nuestro número, lo hemos encontrado + if (calculoSumaDivisores(i) == numDado) { + System.out.println(i); + break; + //Si llegamos al límite decimos que no hemos encontrado ninguno + } else if (i == 999999999) { + System.out.println("No se ha encontrado ningún número amigo"); + } + } + } + + public static int calculoSumaDivisores(int num) { + int sumaDivisores = 0; + //Vamos calculando los divisores y sumándolos para luego devolverlo + for (int i = 1; i <= num; i++) { + if ((num % i) == 0) { + sumaDivisores += num / i; + } + } + sumaDivisores -= num; + return sumaDivisores; + } +} \ No newline at end of file