Bueno, un numero magico, se podria considerar un numero perfecto... es lo mismo
Lo que tienes que hacer, es conseguir todos los divisores, y despues sumarlos, es facil.
Creas una variable, con valor zero, que vaya sumando los divisores, y el mismo.
Me explico:
Código:
Magico = Magico + Resultado_De_La_Division.
El Resultado_De_La_Division, el residuo ( % ) tiene que ser 0, eso quiere decir:
Código:
Modulo_De_La_Division = Divisor % Valor_Principal
if (Modulo_De_La_Division == 0 )
{
Resultado_De_La_Division = Divisor / Valor_Principal;
Magico = Magico + Resultado_De_La_Division.
}
El codigo 2, se tiene que repetir varias veces, quantas? pues, haz un ejemplo:
24 = 1 + 2 + 4 + 7 + 14
Como podras contar, hay 5 valores diferentes, y todos estos valores, son diferentes, pero, en realidad, tendrian que ser 6! ( contando el Valor principal ).
Esto quiere decir, que el bucle se va repetiendo, hasta que el Divisor sea igual a 24.
Bien, esto es todo, el final de todo, tienes que comparar el valor Magico con el Valor principal, si es verdadero, el numero es magico, si no, no lo es.
Saludos!Espero que te haya ayudado en algo!