Truco para saber en qué cae un día

Introducción

Seguro que os ha pasado esto alguna vez:

  • +El día 17 tenemos una reunión
  • -El dia 17… ¿En qué cae?
  • +Espera que lo miro…

¿A que si? Pues en este artículo descubriréis el truco para saber en qué día cae un número del mes sin tener que mirar un calendario. Así que, ¡Atentos!

Calendario

Números congruentes

Dos números son congruentes de módulo m cuando al dividir cada uno de ellos entre m se obtiene el mismo resto R.

Un ejemplo podría ser el 8 y el 53 congruentes de módulo 5, ya que 8/5 y 53/5 dan como resto 3.

Esta propiedad es muy utilizada. Mucho más de lo que nos pensamos.

Por ejemplo, para determinar la hora usamos constantemente congruencias de módulo 12. Así, el 2 es congruente con el 14 de módulo 12, o el 6 es congruente con el 18 de módulo 12.

Además, muchísimos códigos de verificación emplean esta propiedad. La letra del DNI se calcula empleando congruencias así como para calcular el DC de las cuentas bancarias

Qué día de la semana es hoy

Tras introducir la base matemática, vamos a explicar el método.

Como os podréis imaginar, emplearemos congruencias de módulo 7. El principal problema es que los meses en general no empiezan en un lunes. Es decir, necesitaremos la condición inicial de saber en qué día empezó el mes. O más intuitivamente, cuántos huecos en blanco tiene.

Calendario mes de Noviembre 2019
Calendario mes de Noviembre 2019

Vamos a tomar como ejemplo el mes de Noviembre de 2019.

El método consistirá en aplicar la congruencia de módulo 7 para el caso de que el 1 del mes es lunes y luego aplicar una traslación en función del número de días vacíos.

El método

Vamos a calcular en qué día cae el 22

Hacemos 22/7 y obtenemos de resto el 1. A eso le sumamos el número de días vacíos, que en este caso son 4. Obtenemos un 5 –> El día es Viernes

La suma es mayor estricto que 7

Vamos a averiguar en qué día cae el 18.

Hacemos 18/7 y obtenemos de resto el 4. Le sumamos el número de días vacíos, que son 4. Obtenemos un 8 y observamos que es mayor estricto a 7.

Entonces volvemos a aplicar la congruencia, de tal forma que 8/7 nos da de resto 1 –> El día 18 cae en Lunes.

Si el resto fuese 7, el día sería el Domingo

Algoritmo cálculo de día

Para finalizar este breve artículo voy a articular lo que sería el algoritmo para calcular en qué día de la semana cae un día.

Supondremos que el cálculo lo proporciona una función f que tiene 2 entradas; el número de días vacíos y el día que queremos calcular.

La función sería de la forma f=f(ndb,dc) . Con:

  • ndb = Número de días en blanco
  • dc = Día a calcular

El algoritmo sería el siguiente:

R1=mod(dc,7)

R2=R+ndb

¿Es R2 > 7?

    • R3=mod(R,7)
      • R3 se corresponde con el día de la semana (Ejemplo 1 para Lunes, 2 para Martes…)
  • No
    • R2 se corresponde con el día de la semana (Ejemplo 1 para Lunes, 2 para Martes…)

Deja un comentario