El funcionamiento del Doomsday algorithm se basa en la premisa de que para cualquier a?xisten una serie de fechas f?les de recordar que caen siempre en el mismo d?de la semana. Los a?bisiestos -aquellos en que Febrero tiene 29 d?- suponen una complicaci?dicional, ya que todas las fechas posteriores a ese d?se corren, pero Conway evita este problema de la misma forma en que hac? los romanos: considerando el primer d?del a?l 1 de Marzo, y como fin de a?em> el ?mo d?de febrero. Las fechas que debemos recordar son las siguientes:
- El 0de Marzo (el ?mo d?de Febrero, en realidad),
- El 4 de Abril,
- 9 de Mayo
- 6 de Junio
- 11 de Julio
- 8 de Agosto
- 5 de Septiembre
- 10 de Octubre
- 7 de Noviembre
- 12 de Diciembre
- 2 de Enero (del a?iguiente)
- 13 de Febrero (del a?iguiente)
¿Crees que es imposible recordar esas fechas? Pues te equivocas. Si miras con detenimiento la lista anterior, notar?que -dejando de lado los meses de Enero y Febrero, todas las correspondientes a meses pares tienen la forma n/n :4/4, 6/6, 8/8, 10/10 y 12/12. Y las que corresponden a los meses impares son 9/5, 11/7, 5/9 y 7/11. Estas cuatro pueden resultar un poco m?dif?les, pero los anglosajones lo tienen f?l gracias al mnem?o «I work from 9 to 5 at the 7-11«( o «Trabajo de 9 a 5, en el Seven-Eleven«, donde Seven-Eleven es una cadena de tiendas muy famosas en Estados Unidos). Como sea, esa frase nos permite recordad las cuatro fechas en cuesti?Y la dos restantes corresponden al d?de la toma de Granada y la v?era de San Valent? as?ue con poco trabajo lograr?memorizar la lista.
Esas fechas, como te adelantamos, caen todas en el mismo d?de la semana, y Conway las denomina D?del Juicio«, de donde proviene el nombre del algoritmo. Determinando que d?de la semana es el que corresponde para el a?e la fecha que queremos adivinar, podemos calcular sin problemas el dato que estamos buscando. Para encontrar el Doomsday aprovechamos que el calendario Gregoriano (si, el mismo que usamos todos los d? en nuestra vida cotidiana) se repite cada 400 a?/strong>, o lo que es lo mismo, cada cuatro siglos. Para simplificar los c?ulos, vamos a asumir que cada siglo comienza enlos a?acabados en «00» y finalizan en los a?acabados en «99«. Conway llama al primer Doomsday de cada siglo marcador de siglo, y se repite cada 400 a? Esos d? son:
- Siglo 1800-1899: Viernes
- Siglo 1900-1999: Mi?oles
- Siglo 2000-2099: Martes
- Siglo 2100-2199: Domingo
Veamos ahora como calcular el Doomsday de un a?ualquiera. Si llamamos y a los dos ?mos d?tos del a?n que estamos trabajando, el Doomsday correspondiente se calcula con la siguiente f?la:
Antes que cierres el navegador espantado por semejante sarta de s?olos matem?cos, lee la siguiente explicaci?El Doomsday se calcula sumando al marcador del siglo el resultado de la divisi?em>(sin tener en cuenta los decimales) entre los dos ?mos d?tos del a? 12, m?el resto de dicha divisi?m?ese mismo resto dividido 4. En otras palabras, tomamos y, lo dividimos por 12 para obtener un cociente (g) y un resto (r). A r lo dividimos por 4 y obtenemos un nuevo cociente (s). El Doomsday del a?s igual a y+q+r+s. Si ese valor es mayor que 7 (algo muy probable) lo dividimos entre 7 y nos quedamos con el resto. ¡Es f?l!
Veamos un ejemplo. Supongamos que queremos calcular que d?de la semana fue el 14 de Octubre de 1968. El marcador para ese siglo (1900-1999) es Mi?oles, y el valor de y es 68, que al dividir entre 12 nos da 5, con resto 8. IMPORTANTE: Ese resto de «8» es equivalente calcular «68 MOD 7» (68 m?o 7) . Al dividir el resto entre 4 nos da 2, as?ue el Doomsday es igual a 5 + 8 + 2 = 15. Dividimos por 7 y obtenemos el resto: 1 (O hacemos 15 MOD 7, que tambien debe dar 1). Como el marcador de ese siglo es Mi?oles, el 10/10 nuestra referencia para ese mes, y 1 nuestro Doomsday, contamos hacia delante 1 d? Jueves. El 10/10/1968 fue Jueves. El 11 fue Viernes, el 12 S?do, el 13 Domingo y el 14 Lunes. Es decir, el 14 de Octubre de 1968 es Lunes. ¿Interesante, verdad? Otro ejemplo r?do: hoy es 12 de Noviembre de 2010 ¿Que d?de la semana es? F?l: Marcador de siglo: Martes. Doomsday igual a 5 (te dejamos calcularlo a ti, recuerda que para 2010 y = 10). El 7/11 es nuestro marcador m?cercano, y es Domingo (5 d? contando a partir de Martes). Si el 7/11 fue Domingo, el 12/11 es Viernes. Sabiendo todo esto: ¿Te animas a calcular que d?de la semana fue cuando naciste?