Para fazer operações aritméticas simples com datas, precisamos pensar nos dias da semana não como nomes, mas como números.
É a menor peça de memorização do método inteiro — sete números — e todos os passos seguintes se apoiam nela.
No algoritmo doomsday, cada dia da semana tem um número: domingo é 0, segunda-feira é 1, e assim por diante até sábado, que é 6. Existem alguns mnemônicos úteis para memorizá-los:
Que número é quinta-feira?
Quando os dias viram números, perguntas sobre o calendário se transformam em somas pequenas: um dia da semana mais uma contagem de dias.
A velocidade nesse algoritmo depende de quanto você está à vontade com contas de cabeça como terça-feira (2) mais 2 é quinta-feira (4). Um exemplo mais capcioso é sábado (6) mais 6 é sexta-feira (5), que pode parecer contraintuitivo, já que 6 + 6 dá 12, e não 5. É aí que entra a operação módulo.
Módulo é só o resto de uma divisão. Some seus dias, divida o total por 7, e o resto é o número do dia — a cada 7 dias a semana volta ao começo.
Por exemplo, no caso de sábado (6) mais 6, você calcula 6 + 6 = 12. Agora divida 12 por 7: o quociente é 1 (uma semana inteira) e o resto é 5. Então 12 módulo 7 é 5, que corresponde a sexta-feira. Ou seja, sábado mais 6 dias cai mesmo em sexta-feira.
Essa operação módulo garante que, por mais dias que você some, você sempre cai em um dia da semana válido. É como um relógio que volta ao começo depois do número mais alto — neste caso, sábado (6).
Outro exemplo: se hoje é quarta-feira (3) e você quer saber o dia 10 dias depois, calcula 3 + 10 = 13. Aplicando o módulo, 13 módulo 7 é 6, que é sábado.
Essa volta ao início é o único truque aritmético do método. Tudo daqui em diante é o mesmo movimento — somar números pequenos e descartar os setes.