in

Número mágico en Java – Javatpoint

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

Número mágico en programación

A 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é deben evitarse los números mágicos?

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 debe evitarse el uso de números mágicos. Los cambios en el código también son más amargos.

Se recomienda utilizar constantes para representar valores en lugar de utilizar números mágicos. Mejora la legibilidad del código y proporciona una fácil modificación en el código.

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 único dígito es 1, entonces 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 nuevamente sumamos el 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 números mágicos.

Por ejemplo, 532, 253, 325, 235, 352, 523 la suma de los dígitos de todos los números da 10 y nuevamente suma el 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ágicos.

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

Programa de números mágicos de Java

MagicNumberExample1.java

Salida 1:

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

Salida 2:

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

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

MagicNumberExample2.java

Salida 1:

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

Salida 2:

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

Número mágico vs número feliz

La única diferencia entre magia números y contento números es que en un número mágico sumamos todos los dígitos del número de forma recursiva hasta que obtenemos un dígito de señal, es decir, 1. Mientras que en contento número, calculamos recursivamente la suma del cuadrado de dígitos hasta obtener un solo dígito 1. Si este proceso da como resultado un ciclo sin fin de números que contienen 4, entonces el número se llama un infeliz número. Por ejemplo, tenemos que comprobar 19 es magia y número feliz o no.

Ejemplo de número mágico Ejemplo de número feliz
We have to check n = 19
1 + 9 = 10
1 + 0 = 1
We have to check n=19
12+ 92 = 1 + 81 = 82
82+ 22 = 64 + 4 = 68
62+ 82 = 36 + 64 = 100
12+ 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.


Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Fechas de Python

unicast addressing

IPv4: direccionamiento