Linguaggio C/C++ – Calcolo della Pasqua con metodo di Gauss

Algoritmo

Partendo dall’anno di cui si vuole conoscere la Pasqua, occorre calcolare in primis i seguenti valori:
a = Anno mod 19
b = Anno mod 4
c = Anno mod 7

Da qui si procede con i seguenti calcoli:
d = (19*a + M) mod 30
e = (2*b + 4*c + 6*d + N) mod 7

dove l’operatore mod indica il resto della divisione e M ed N variano in base all’anno (in particolare al secolo), come mostrato dalla seguente tabella:

PeriodoMN
1600-1699222
1700-1799233
1800-1899234
1900-1999245
2000-2099245
2100-2199246

A questo punto, se (d + e) < 10, allora la Pasqua cade a Marzo nel giorno (d + e + 22), altrimenti ad Aprile nel giorno (d + e − 9).

Nel secondo caso vi sono però due eccezioni:

  1. Se la data risultante è il 26 aprile, allora la Pasqua si anticipa al 19 aprile;
  2. Se la data risultante è il 25 aprile e contemporaneamente d = 28, e = 6 e a > 10, allora la Pasqua si anticipa al 18 aprile.

Visite: 1620

Pagine: 1 2 3 4