최대 정수 함수의 달력에의 응용인 가벼운 단원이다. 크게 중요한 내용은 없다.

그레고리력

일년을 $365$일로 책정하고, $100$의 배수가 아니며 $4$의 배수인 년도나 $400$의 배수인 년도는 윤년이라 부르며 $366$일로 책정한다.

요일에 다음과 같이 숫자를 붙여보자.

$$ \begin{aligned} \text{일요일} \Rightarrow 0\\ \text{월요일} \Rightarrow 1\\ \text{화요일} \Rightarrow 2\\ \text{수요일} \Rightarrow 3\\ \text{목요일} \Rightarrow 4\\ \text{금요일} \Rightarrow 5\\ \text{토요일} \Rightarrow 6\\ \end{aligned} $$

이제 특정 년월일의 요일을 알아내는 공식을 수식화하는 과정을 진행할 것이다.


요일을 구하는 공식

$3$월 $1$일을 어떤 해의 시작이라고 하자.

벌써부터 심상치않다.

$D_n$은 $n$년도의 $3$월 $1$일의 요일을 의미한다.

$D_{1600}$은 $1600$년도 $3$월 $1$일의 요일 번호이다.

$365$일이 $1$년일 때, $365 \equiv 1 \pmod 7$ 이므로,

$$ \begin{aligned} D_{1601} \equiv D_{1600}+1 \pmod 7\\ D_{1602} \equiv D_{1600}+2 \pmod 7\\ D_{1603} \equiv D_{1600}+3 \pmod 7 \end{aligned} $$

이고, $1604$년은 윤년이기때문에 $1$이 더 더해져서

$$ D_{1604} \equiv D_{1600} + 5 \pmod 7 $$

이다.

이를 이용해 어떤 해 $Y > 1600$의 $3$월 $1$일의 요일 수 $D_Y$ 를 다음과 같이 공식화 할 수 있다.

$$ D_Y \equiv D_{1600} + (Y-1600)+L \pmod 7 ~~~~ (1) $$

$L$은 $1600 < i < Y$ 일 때, 윤년인 $i$의 개수이다.

$L$은 포함 배제의 원리로 구할 수 있다.

$$ \begin{aligned} L&=\left[ \dfrac {Y-1600}4 \right] - \left[ \dfrac {Y-1600}{100} \right]+ \left[ \dfrac {Y-1600}{400} \right]\\ &=[Y/4]-[Y/100]+[Y/400]-388 \end{aligned} $$

$\because 388=[1600/4]-[1600/100]+[1600/400]$

$D_{1600}=3$(수요일) 이고, $(1)$ 의 식에 $L$을 대입하면,

$$ D_Y \equiv 3+(Y-1600)+\left[ \dfrac Y4 \right]-\left[ \dfrac Y{100} \right]+\left[ \dfrac Y{400} \right]-388 \pmod 7 ~~~ (2) $$

$L$의 복잡도를 줄이기 위해, 년도 $Y$를 다음과 같이 나타내자.

$$ Y=100c+y ~~ (0 \le y < 100) $$

예를 들어, $2021=100 \cdot 20 + 21$

나눗셈 정리에 의해 $c$와 $y$가 유일히 존재한다.

$L$을 다시 나타내보자.

$$ \begin{aligned} L&=\left[ \dfrac Y4 \right]-\left[ \dfrac Y{100} \right]+\left[ \dfrac Y{400} \right]-388\\ &=\left[ \dfrac {100c}4+\dfrac y4 \right]-\left[ \dfrac {100c}{100}+\dfrac y{100} \right]+\left[ \dfrac {100c}{400}+\dfrac y{400} \right]-388\\ &=25c + \left[ \dfrac y4 \right]-c+\left[ \dfrac c4 \right]-388\\ &=24c+\left[ \dfrac y4 \right]+\left[ \dfrac c4 \right]-388 \end{aligned} $$

이제 이를 $(1)$에 다시 대입해보자.

$$ D_Y \equiv 3+\left( 100c+y-1600 \right)+24c+\left[ \dfrac y4 \right]+\left[ \dfrac c4 \right]-388 \pmod 7 $$

이를 법 $7$에 대해 간략히 하면,

$$ D_Y \equiv 3-2c+y \left[ \dfrac c4 \right]+\left[ \dfrac y4 \right] \pmod 7 ~~~ (3) $$

실제로 $2021$년 $3$월 $1$일의 요일을 구해보자.

$$ \begin{aligned} 2021=100 \cdot 20 + 21 \Longrightarrow c=20,y=21\\ D_{2021} \equiv 3-40+21+5+5 \equiv 1 \pmod 7 \end{aligned} $$

실제로 $2021$년 $3d월$ $1$일은 월요일(1) 이다.


이제 년도의 시작일인 $3$월 $1$일의 요일수를 구했으므로, 여기서 그치지 않고 각 달의 $1$일의 요일수를 구해보자.

어떤 해 $Y$의 매달 첫째 날의 요일수를 얻기 위해, $3$월 $1$일의 요일수에 더해야 하는 값은 다음과 같다.

각각 $30,31$일이 있는 달에 대해 법 $7$을 고려하라.

$31$일은 $3$이, $30$일은 $2$가 더해진다.

$$ \begin{aligned} 3\text{월} \to 0\\ 4\text{월} \to 3\\ 5\text{월} \to 5\\ 6\text{월} \to 1\\ 7\text{월} \to 3\\ 8\text{월} \to 6\\ 9\text{월} \to 2\\ 10\text{월} \to 4\\ 11\text{월} \to 0\\ 12\text{월} \to 2\\ 1\text{월} \to 5\\ 2\text{월} \to 1 \end{aligned} $$

$12$ 개를 어떻게 외우냐고 생각한다면, 다음과 같이 준비된 공식이 있다.

여기서 중요한건 $m$은 $3$월을 그 해의 첫째달로 볼 때 몇번째 달인지를 의미한다는 것이다.

$m-1,2,\dots,12$ 에 대해서, ${\color{salmon} [(2.6)m-0.2]-2 \pmod 7 }$ 은, 표에 나온 것과 같은 수를 생산한다.

예를 들어, $2021$년 $9$월 $1$일을 택하면,

$$ D_{2021}+[(2.6) \cdot 7 - 0.2] -2 \equiv 1 + 18 - 2 \equiv 3 \pmod 7 $$

실제로 $2021$년 $9$월은 수요일이다.

어떤 달의 $d$일은 $(d-1)$을 더해주기만 하면 되므로,

결국 $Y(100c+y)$년 $m$월 $d$일의 요일을 구하는 공식은 다음과 같다.

식 $(3)$에서,

$$ \begin{aligned} D_Y &\equiv 3-2c+y+\left[ \dfrac c4 \right] \pmod 7\\ w &\equiv D_y+[(2.6)m-0.2]-2+(d-1) \pmod 7\\ &\equiv 3-2c+y+\left[ \dfrac c4 \right]+\left[ \dfrac y4 \right]+[(2.6)m-0.2]-2+(d-1) \pmod 7\\ &\equiv d+[(2.6)m-0.2]-2c+y+\left[ \dfrac c4 \right]+\left[ \dfrac y4 \right]\pmod 7 \end{aligned} $$

Theorem 6.12

$3$월을 그 해의 첫째 달, 그리고 $1$월과 $2$월은 그 전 해의 열한 번째 달, 열두 번째 달이라 가정하면,

$Y=100c+y$년 $m$번째 달, $d$일의 요일 수는 다음과 같다.

$$ \begin{aligned} w=d+[2.6m-0.2]-2c+y+\left[ \dfrac c4 \right]+\left[ \dfrac y4 \right] \pmod 7\\\\ \text{단},~c \ge 16, 0 \le y < 100 \end{aligned} $$

Comments