From 1c3e597b4890c034d1b8df963c084283b42dabef Mon Sep 17 00:00:00 2001 From: h4ckx0r Date: Fri, 25 Oct 2024 14:03:27 +0200 Subject: [PATCH] Ejercicio A terminado --- .../examenes/examen20241025/Ejercicio_a.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/main/java/examenes/examen20241025/Ejercicio_a.java 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