El día maldito

Miércoles, 26 de Diciembre de 2007

El Doomsday o día maldito es el día de la semana que cae el último día de Febrero. Por ejemplo, para este año 2007, el día maldito es Miércoles, que es el último día de Febrero (que es el 28). La curiosidad de este día, es que coincide con el del 4/4, 6/6, 8/8, 10/10 y 12/12. Es decir, que también es el mismo día de la semana que el 4 de Abril, el 6 de Junio, el 8 de Agosto, el 10 de Octubre y el 12 de Diciembre (todos Miércoles para el 2007).

¿Y para que sirve esta coincidencia? Pues para calcular el día de la semana de cualquier fecha con un algoritmo, de manera que tenemos un calendario perpetuo. Si memorizamos este algoritmo, podemos calcular mentalmente esta fecha y así sorprender a nuestros amigos, hacer apuestas o, quien sabe, sacarle alguna utilidad en nuestro día a día.

En Java, el algoritmo queda como sigue:

Primero suponemos que los días de la semana empiezan en Lunes y que se numeran del 0 al 6 (Lunes es el 0 y Domingo el 6)

    int anno = 2007;
    int marcador = -1;
    if (anno >= 1800 && anno <1900) {
        marcador = 4;
    } else if (anno >= 1900 && anno <2000) {
        marcador = 2;
    } else if (anno >= 2000 && anno <2100) {
        marcador = 1;
    } else if (anno >= 2100 && anno <2200) {
        marcador = 6;
    }

    int y = Integer.parseInt(String.valueOf(anno).substring(2,4));

    int doomsday = ((((y/12)+(y%12)+((y%12)/4))%7) + marcador)%7;

Ahora la pregunta es ¿y como calculo el día de la semana de cualquier fecha? Pues no hay una formula exacta, tan solo hay que saber cual es el doomsday del año que nos preguntan. Con ese doomsday, sabemos que días de ese mismo año coinciden: 4/4, 6/6, 8/8, 10/10 y 12/12. Así que si nos piden el 11 de Octubre, con sumarle un día al 10/10 (que es un doomsday), podemos saber en que cae. Si nos preguntan una fecha más difícil (más alejada de un doomsday conocido), entonces tenemos que tirar de otra. Por ejemplo, para los meses impares, los doomsday son: 5/9, 9/5, 7/11, 11/7, que también son fáciles de recordar.

Fuente: http://quasar.as.utexas.edu/BillInfo/doomsday.html y http://es.wikipedia.org/wiki/Algoritmo_Doomsday

1 comentario to “El día maldito”

  1. Blogging Semanal XII:

    […] [Programación] El día maldito […]

Hacer un comentario

Debes estar identificado para hacer un comentario.



buy cheap levitra cheapest clomid prices viagra sales propecia sale buy cheapest cialis viagra prescription viagra malaysia order clomid online soma pharmacy levitra sale certified cialis buy cheap cialis internet buy lasix without prescription synthroid discount buy viagra online cheap order viagra no prescription required viagra side effects buy viagra buy viagra overnight delivery viagra free delivery buy cialis overnight delivery cost cialis order synthroid online soma online cheap viagra from canada buy viagra in canada soma prescription order cialis from canada order discount cialis online accutane sale viagra overnight delivery generic viagra online purchase cialis without prescription lasix sale cialis cheapest synthroid cialis cheapest price order viagra overnight delivery low cost cialis order no rx cialis cheap viagra from usa clomid find discount viagra accutane purchase acomplia propecia pills viagra cheap soma cheap lasix propecia prices buy cialis internet buy generic synthroid purchase soma online lowest price accutane cialis in australia generic cialis propecia no prescription clomid prescription buy cheapest viagra on line buy synthroid discount viagra no rx cheapest acomplia prices generic soma order viagra no rx buy propecia buy viagra generic cheap cialis tablets discount cialis without prescription order levitra online acomplia without a prescription viagra purchase acomplia online cheap