Código Dharma


Enviar solución

Puntos: 5
Tiempo límite: 1.0s
Límite de memoria: 64M

Autor:
Tipos de problema

Un código DHARMA es un número positivo de 5 cifras, la primera siempre diferente de cero. Los 4 primeros se llaman ENTIDAD y el último (el dígito de las unidades) es un DIGITO DE CONTROL que se obtiene de los 4 anteriores.

\displaystyle \underbrace{7754}_{\mathrm{entidad}\,} \underbrace{3}_{\mathrm{control}}

La forma de calcular el DIGITO DE CONTROL a partir de la ENTIDAD es la siguiente.

  1. Se toman los cuatro dígitos de la ENTIDAD enumerando de izquierda a derecha.

    • Si el primer dígito de la ENTIDAD es par:

      • La primera cifra de la entidad se multiplica por 4
      • La segunda cifra de la entidad se multiplica por 8
      • La tercera cifra de la entidad se multiplica por 5
      • La cuarta cifra de la entidad se multiplica por 10
    • Si el primer dígito de la ENTIDAD es impar:

      • La primera cifra de la entidad se multiplica por 9
      • La segunda cifra de la entidad se multiplica por 7
      • La tercera cifra de la entidad se multiplica por 3
      • La cuarta cifra de la entidad se multiplica por 6
  2. Se suman todos los resultados obtenidos.

  3. Se divide entre 11 y nos quedamos con el resto de la división.

  4. A 11 le restamos el resto anterior, y ese es el dígito de control, con la salvedad de que si nos da 10, el dígito es 1.

Crear un programa que solicite un código DHARMA por teclado y determine si es correcto, es decir si su dígito de control está bien calculado de acuerdo al valor de la ENTIDAD del código.

El programa deberá validar que el código de Dharma tecleado es positivo y tiene 5 dígitos. En caso contrario mostrará un mensaje en pantalla que indique "Código Dharma no tiene 5 dígitos" y terminará sin hacer nada más.

Si la validación anterior se supera, el programa presentará en pantalla el dígito de control obtenido del código Dharma tecleado y el dígito de control calculado desde los valores de la ENTIDAD, y un mensaje que indique si el código Dharma es correcto (si ambos dígitos coinciden) o no es correcto (si ambos dígitos no coinciden). Para ello se seguirá el formato indicado más abajo.

Es importante seguir el formato indicado en los ejemplos, incluyendo los acentos (el Juez se encarga de la codificación, por lo que deben introducirse de forma literal en el código). Se recomienda copiar y pegar de los ejemplos para evitar errores.

Dharma logo

Entrada

Un número decimal.

Salida

En caso de que el código no tenga 5 dígitos o sea negativo el mensaje "Código Dharma no tiene 5 dígitos".

En otro caso, dos líneas indicando el dígito de control y el calculado con el siguiente formato:

Dígito de control del código Dharma........: X
Dígito de control calculado para la ENTIDAD: X

seguidas de una línea con o bien "El código Dharma es correcto" o bien "El código Dharma NO es correcto".

Ejemplo de entrada 1

77543

Ejemplo de salida 1

Dígito de control del código Dharma........: 3
Dígito de control calculado para la ENTIDAD: 3
El código Dharma es correcto

Ejemplo de entrada 2

12345

Ejemplo de salida 2

Dígito de control del código Dharma........: 5
Dígito de control calculado para la ENTIDAD: 1
El código Dharma NO es correcto

Ejemplo de entrada 3

777

Ejemplo de salida 3

Código Dharma no tiene 5 dígitos

Comentarios

No hay comentarios por el momento.