kiedy Wielkanoc?
Wielkanoc zawsze przypada w pierwszą niedzielę po pierwszej pełni Księżyca przypadającej po równonocy wiosennej. Problem jednak polega na tym żeby wyznaczyć kiedy wypadnie ta pierwsza pełnia Księżyca.
Tabela zawiera daty Wielkanocy do roku 2020.
(na niebiesko oznaczono daty marcowe)
Rok 0 1 2 3 4 5 6 7 8 9
2000 23 15 31 20 11 27 16 8 23 12 2010 4 24 8 31 20 5 27 16 1 21 2020 12 4 17 9 31 20 5 28 16 1 2030 21 13 28 17 9 25 13 5 25 10 2040 1 21 6 29 17 9 25 14 5 18 2050 10 2 21 6 29 18 2 22 14 30 2060 18 10 26 15 6 29 11 3 22 14 2070 30 19 10 26 15 7 19 11 3 23 2080 7 30 19 4 26 15 31 20 11 3 2090 16 8 30 12 4 24 15 31 20 12 2100 28 17 9 25 13 5 18 10 1 21 2110 6 29 17 2 22 14 29 18 10 26 2120 14 6 29 11 2 22 14 30 18 10 2130 26 15 6 19 11 3 22 7 30 19 2140 3 26 15 31 19 11 3 16 7 30 2150 12 4 23 15 31 20 11 27 16 8 2160 23 12 4 24 8 31 20 5 27 16 2170 1 21 12 4 17 9 31 20 5 28 2180 16 1 21 13 28 17 9 25 13 5 2190 25 10 1 21 6 29 17 9 25 14 2200 6 19 11 3 22 7 30 19 3 26
Pełna informacja w tekście źródłowym.
W razie gdybyśmy chcieli sami dokonać obliczeń.
Opracowano kilka metod. Poniżej opiszemy jedną z nich: metodę Meeusa/Jonesa/Butchera.
Dla kalendarza gregoriańskiego
Ten sposób został przedstawiony przez Jean'a Meeusa w jego książce Astronomical Algorithms w 1991 roku. Może być uznany za lepszy od tego poprzedniego, ponieważ nie wymaga żadnych cyfr dla określonego zakresu czasu i nie ma od niego wyjątków. Wystarczy podać dowolny rok.
I tak:
1. Dzielimy liczbę roku na 19 i wyznaczamy resztę a.
2. Dzielimy liczbę roku przez 100, wynik zaokrąglamy w dół (odcinamy część ułamkową) i otrzymujemy cyfrę b.
3. Dzielimy liczbę roku przez 100 i otrzymujemy resztę c.
4. Dzielimy b przez 4, wynik zaokrąglamy w dół i otrzymujemy cyfrę d.
5. Dzielimy b przez 4 i wyznaczamy resztę e.
6. Liczymy: (b + 8) : 25. Wynik zaokrąglamy w dół i otrzymujemy liczbę f.
7. Liczymy: (b - f + 1) : 3. Wynik zaokrąglamy w dół i otrzymujemy liczbę g.
8. Dzielimy (19 x a + b - d - g + 15) przez 30 i wyznaczamy resztę h.
9. Dzielimy c przez 4, wynik zaokrąglamy w dół i otrzymujemy cyfrę i.
10. Dzielimy c przez 4 i wyznaczamy resztę k.
11. Dzielimy: (32 + 2 x e + 2 x i - h - k) przez 7 i otrzymujemy resztę l.
12. Liczymy: (a + 11 x h + 22 x l) : 451. Wynik zaokrąglamy w dół i otrzymujemy liczbę m.
13. Dzielimy (h + l - 7 x m + 114) przez 31 i otrzymujemy resztę p.
14. Dzień Wielkanocy = p + 1.
15. Miesiąc = Zaokrąglenie w dół dzielenia (h + l - 7 x m + 114) przez 31.
Przykład dla roku 2012:
* 2012 : 19 = 105 i reszta 17. a = 17.
* 2012 : 100 = 20,12, w zaokrągleniu w dół 20. b = 20.
* 2012 : 100 = 20 i reszta 12. c = 12.
* b : 4 -> 20 : 4 = 5, w zaokrągleniu w dół również 5. d = 5.
* b : 4 -> 20 : 4 = 5 i reszta 0. e = 0.
* (b + 8) : 25 -> (20 + 8) : 25 = 28 : 25 = 1,12, w zaokrągleniu w dół 1. f = 1.
* (b - f + 1) : 3 -> (20 - 1 + 1) : 3 = 20 : 3 = 6,(6), w zaokrągleniu w dół 6. g = 6.
* (19 x a + b - d - g + 15) : 30 -> (19 x 17 + 20 - 5 - 6 + 15) : 30 = 347 : 30 = 11 i reszta 17. h = 17.
* c : 4 -> 12 : 4 = 3, w zaokrągleniu w dół 3. i = 3.
* c : 4 -> 12 : 4 = 3 i reszta 0. k = 0.
* (32 + 2 x e + 2 x i - h - k) : 7 -> (32 + 2 x 0 + 2 x 3 - 17 - 0) : 7 = 21 : 7 = 3 i reszta 0. l = 0.
* (a + 11 x h + 22 x l) : 451 -> (17 + 11 x 17 + 22 x 0) : 451 = 204 : 451 = 0,(4523281596), w zaokrągleniu w dół 0. m = 0.
* (h + l - 7 x m + 114) : 31 -> (17 + 0 - 7 x 0 + 114) : 31 = 131 : 31 = 4 i reszta 7. p = 7.
* Dzień to p + 1 -> 7 + 1 = 8. Wielkanoc wypada więc ósmego.
* Miesiąc to (h + l - 7 x m + 114) : 31 -> (17 + 0 - 7 x 0 + 114) : 31 = 131 : 31 = 4,(225806451612903), w zaokrągleniu w dół 4. Wielkanoc jest więc w Kwietniu.
Wielkanoc w 2012 roku wypada więc 8 kwietnia (według kalendarza gregoriańskiego).