PROG0083 - Easter Sunday
Gauss made a formula to determine the day $D$ and the month $M$ in which Easter is celebrated in a certain year $J$. Suppose that the notation $\lfloor x\rfloor$ is used for the whole part of a real number $x$. In the first instance, the following values are defined: \[\begin{aligned} k &=\left\lfloor \frac{J}{100}\right\rfloor \\ a &= J\mathrm{\;mod 19}\\ b &= J\mathrm{\;mod 4}\\c&=J\mathrm{\;mod 7}\\ p &=\left\lfloor \frac{13 +8k}{25}\right\rfloor \\ q&= \left\lfloor \frac{k}{4}\right\rfloor \\ m &= (15-p+k-q) \mathrm{\;mod 30}\\ d &= (19a + m) \mathrm{\;mod 30}\\ n &= (4+k-q) \mathrm{\;mod 7}\\ e &= (2b+4c+6d+n) \mathrm{\;mod 7}\end{aligned}\] Here, we see all divisions as real divisions. Then, $D$ and $M$ are defined as follows:
- if $d+e\leq 9$, then $D=22+d+e$ and $M=3$
- if $d=29$ and $e=6$, then $D=19$ and $M=4$
- if $d=28$ and $e=6$ and $a>10$, then $D=18$ and $M=4$
- else $D=d+e-9$ and $M=4$.
Input
A year.
Output
The day and month in which Easter is celebrated in the year of the input, each on a separate line.
Example
Input:
2012
Output:
8 4
Gauss bepaalde een formule voor het bepalen van de dag $D$ en de maand $M$ waarop Pasen valt in een gegeven jaar $J$. Stel dat de notatie $\lfloor x\rfloor$ gebruikt wordt voor het gehele deel van een reëel getal $x$. In eerste instantie worden dan de volgende waarden gedefinieerd: \[\begin{aligned} k &=\left\lfloor \frac{J}{100}\right\rfloor \\ a &= J\mathrm{\;mod 19}\\ b &= J\mathrm{\;mod 4}\\c&=J\mathrm{\;mod 7}\\ p &=\left\lfloor \frac{13 +8k}{25}\right\rfloor \\ q&= \left\lfloor \frac{k}{4}\right\rfloor \\ m &= (15-p+k-q) \mathrm{\;mod 30}\\ d &= (19a + m) \mathrm{\;mod 30}\\ n &= (4+k-q) \mathrm{\;mod 7}\\ e &= (2b+4c+6d+n) \mathrm{\;mod 7}\end{aligned}\] Hierbij stellen alle delingen reële delingen voor. Vervolgens worden $D$ en $M$ als volgt bepaald:
- als $d+e\leq 9$, dan is $D=22+d+e$ en $M=3$
- als $d=29$ en $e=6$, dan is $D=19$ en $M=4$
- als $d=28$ en $e=6$ en $a>10$, dan is $D=18$ en $M=4$
- anders is $D=d+e-9$ en $M=4$.
Invoer
Een jaartal.
Uitvoer
De dag en de maand waarop pasen valt in het gevraagde jaar, elk op een afzonderlijke regel.
Voorbeeld
Invoer:
2012
Uitvoer:
8 4
Added by: | Peter Dawyndt |
Date: | 2011-08-02 |
Time limit: | 10s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | PY_NBC |
Resource: | None |