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;
    }
}