Cálculo da data da Páscoa recorrendo a outro algoritmo Para calcular o dia da Páscoa (Domingo), usa-se a fórmula abaixo, onde o "ANO" deve ser introduzido com 4 dígitos. O operador MOD é o resto da divisão. A fórmula vale para anos entre 1901 e 2099. A fórmula pode ser estendida para outros anos, alterando X e Y conforme a tabela a seguir:
a=MOD(ANO;19)
b=MOD(ANO;4)
c=MOD(ANO;7)
d=MOD((19*a)+X;30)
e=MOD(((2*b)+(4*c)+(6*d)+Y);7)
se: (d+e)<10 dia =" (d+e+22)" s="Março
senão: dia=(d+e-9) e mês=Abril
excepções:
1. quando o domingo de Páscoa calculado for em 26 de Abril, corrige-se para uma semana antes, ou seja, 19 de Abril.
2. quando o domingo de Páscoa calculado for em 25 de Abril e d=28 e a>10, então a Páscoa é em 18 de Abril.
Fórmula 3
Outro algoritmo que pode ser usado é o de Meeus/Jones/Butcher (para o calendário gregoriano), exposto por Jean Meeus em Astronomical Algorithms (1991):
O sinal "\" refer-se à divisão por inteiro: 7\3 é igual a 2, não a 2,333...
a = MOD(ANO;19)
b = ANO / 100
c = MOD(ANO;100)
d = b / 4
e = MOD(b;4)
f = (b + 8) / 25
g = (b - f + 1) / 3
h = MOD((19 × a + b - d - g + 15);30)
i = c / 4
k = MOD(c;4)
l = MOD((32 + 2 × e + 2 × i - h - k);7)
m = (a + 11 × h + 22 × L) / 451
MÊS = (h + L - 7 × m + 114) / 31
DIA = MOD((h + L - 7 × m + 114);31) + 1
Exemplo para o ano de 2008:
a = MOD(2008;19) = 13
b = 2008 / 100 = 20
c = MOD(2008;100) = 8
d = 20 / 4 = 5
e = MOD(20;4) = 0
f = (20 + 8) / 25 = 1
g = (20 - 1 + 1) / 3 = 6
h = MOD((19 × 13 + 20 - 5 - 6 + 15);30) = 1
i = 8 / 4 = 2
k = MOD(8;4) = 0
l = MOD((32 + 2 × 0 + 2 × 2 - 1 - 0);7) = 0
m = (13 + 11 × 1 + 22 × 0) / 451 = 0
MÊS = (1 + 0 - 7 × 0 + 114) / 31 = 3 (Março)
DIA = (1 + 0 - 7 × 0 + 114) mod 31 + 1 = 23
Ou seja, a Páscoa de 2008 cai a 23 de Março.
Fonte: Wikipedia