Número mágico en Java

En programación, un número mágico es un valor numérico que se utiliza directamente en el código. Se utiliza con fines de identificación. En esta sección, discutiremos qué es un número mágico y cómo podemos encontrar un número mágico a través de un programa Java.

Número mágico en programación

Un número mágico es un valor numérico codificado (valor de texto en algunos casos) en el código que puede cambiar en una etapa posterior. Parece arbitrario y no tiene contexto ni significado. Es difícil de actualizar. Por ejemplo:

El uso de dicha constante puede ayudarnos a distinguir los archivos entre los muchos otros formatos de archivo. Por ejemplo:

  • Los archivos PDF comienzan con el texto mágico % PDF -> Hex (25 50 44 46)
  • Los archivos PNG comienzan con el texto mágico % PNG – > Hex (25 50 4E 47)

¿Por qué los números mágicos deben evitarse?

No debemos usar los números mágicos en la programación porque conduce a un anti-patrón que hace que el código sea difícil de entender y mantener. También oculta la intención por lo que se debe evitar el uso de números mágicos. Los cambios en el código también son más duros.

Se recomienda usar constante para representar valores en lugar de usar números mágicos. Mejora la legibilidad del código y facilita su modificación.

Número mágico en Matemáticas

En matemáticas, si la suma de sus dígitos recursivamente se calcula hasta un solo dígito. Si el dígito es 1, el número se llama número mágico. Es bastante similar al número feliz.

Por ejemplo, 325 es un número mágico porque la suma de sus dígitos (3+2+5) es 10, y de nuevo sumamos la resultante (1 + 0), obtenemos un solo dígito (1) como resultado. Por lo tanto, el número 325 es un número mágico.

Algunos otros números mágicos son 1234, 226, 10, 1, 37, 46, 55, 73, etc.

Tenga en cuenta que si un número es un número mágico, todas las combinaciones posibles del número también serán los números mágicos.

Por ejemplo, 532, 253, 325, 235, 352, 523 la suma de dígitos de todos los números da 10 y de nuevo suma la resultante (1 + 0), obtenemos un solo dígito, es decir, 1. Por lo tanto, podemos decir que el número mágico y sus combinaciones también son mágicas.

Implementemos la lógica anterior en un programa Java y comprobemos si el número dado es mágico o no.

Programa de números mágicos de Java

MagicNumberExample1.Salida java

1:

Enter a number you want to check: 325The given number is a magic number.

Producto 2:

Enter a number you want to check: 891The given number is a magic number.

Veamos otra lógica para comprobar el número mágico.

MagicNumberExample2.Salida java

1:

Enter any number to check: 7373 is a magic number.

Producto 2:

Enter any number to check: 671671 is not a magic number.

Número mágico vs Número Feliz

La única diferencia entre números mágicos y números felices es que en un número mágico sumamos todos los dígitos del número recursivamente hasta obtener un dígito de señal, es decir, 1. Mientras que en número feliz, calculamos recursivamente la suma del cuadrado de dígitos hasta que obtenemos un solo dígito 1. Si este proceso resulta en un ciclo interminable de números que contienen 4, entonces el número se llama número infeliz. Por ejemplo, tenemos que marcar 19 es número mágico y feliz o no.

Ejemplo de Número mágico Ejemplo de Número Feliz
We have to check n = 191 + 9 = 101 + 0 = 1
We have to check n=1912+ 92 = 1 + 81 = 8282+ 22 = 64 + 4 = 6862+ 82 = 36 + 64 = 10012+ 02+02 = 1 + 0 + 0 = 1

En ambos casos, obtenemos 1. Por lo tanto, el número 19 es un número mágico y también un número feliz.

Leave a Reply