총일수 공식으로
<제라의 요일 공식> 유도하기
[ 목마와 숙녀 - 작시: 박인환, 작곡: 재후, 노래: 김재현 ]
혹자는
아래의 사이트에 가면
[제라의 공식]이 어떻게 유도되었는 지
알 수 있다고 하는데...
[위키피디아: 제라의 공식(Zeller's Congruence)] 읽어 보기:
사실은...
위 사이트에서
[제라의 공식]이 어떻게 유도되었는 지
알 수 없습니다.
따라서
여기에서
직접
[그레고리력]의 <총일수 공식>을 사용하여
[제라의 공식]을
독자적으로
유도해보고자 합니다.
제라의 공식 / 첼러의 공식
(Zeller's Congruence)
연도 Y를 100으로 나누었을 때
몫을 c, 나머지를 y라 하면
Y = c×100 + y
이때
c백 y년 m월 d일의
요일 공식은 다음과 같습니다.
(단, 1월과 2월은 전년도 13월과 14월) |
사용된 기호는
'바닥함수(내림함수) 기호'인데
'가우스 기호' 혹은 '최대정수함수 기호'로 바꾸어도 됩니다.
(※ 기호에 대한 자세한 설명은 맨 아래 ◐공부합시다◑ 코너 참조)
Z를 7로 나눈 나머지 값에 따라
요일은 다음과 같습니다.
Z를 7로 나눈 나머지 0: 일요일
Z를 7로 나눈 나머지 1: 월요일
Z를 7로 나눈 나머지 2: 화요일
Z를 7로 나눈 나머지 3: 수요일
Z를 7로 나눈 나머지 4: 목요일
Z를 7로 나눈 나머지 5: 금요일
Z를 7로 나눈 나머지 6: 토요일
이것은 1887년 제라가 처음 만든 것으로
이전에 가우스 또한 요일 계산공식을 만들었으나
하나의 공식으로 표현한 것은 아니었고, 표를 이용하는 것이었다고 합니다.
위의 공식은
가장 빨리 그레고리력이 사용되기 시작한 달력의
1582년 10월 15일부터 적용할 수 있습니다.
그레고리력의
총일수 공식
[재후-그레고리력]에서
1년 1월 1일부터
Y년 M월 D일까지
총일수 공식 W는
다음과 같습니다.
∴ W = 365Y + [Y]4 - [Y]100 + [Y]400 + [153M-1987]5 + D (단, 1월과 2월은 전년도 13월과 14월) |
[☯ 공전과 자전의 함수 관계 (5) : 1월/2월은 전년 13월/14월 적극 활용하기 <그레고리력>] 읽어 보기:
W를 7로 나눈 나머지 값에 따라
요일은 다음과 같습니다.
W를 7로 나눈 나머지 0: 일요일
W를 7로 나눈 나머지 1: 월요일
W를 7로 나눈 나머지 2: 화요일
W를 7로 나눈 나머지 3: 수요일
W를 7로 나눈 나머지 4: 목요일
W를 7로 나눈 나머지 5: 금요일
W를 7로 나눈 나머지 6: 토요일
제라의 공식과
총일수 공식의
차이점
[제라의 공식] Z를 7로 나눈 나머지에 따른 요일은 다음과 같습니다.
Z를 7로 나눈 나머지 0: 일요일
Z를 7로 나눈 나머지 1: 월요일
Z를 7로 나눈 나머지 2: 화요일
Z를 7로 나눈 나머지 3: 수요일
Z를 7로 나눈 나머지 4: 목요일
Z를 7로 나눈 나머지 5: 금요일
Z를 7로 나눈 나머지 6: 토요일
또한
[총일수 공식] W를 7로 나눈 나머지에 따른 요일은 다음과 같습니다.
W를 7로 나눈 나머지 0: 일요일
W를 7로 나눈 나머지 1: 월요일
W를 7로 나눈 나머지 2: 화요일
W를 7로 나눈 나머지 3: 수요일
W를 7로 나눈 나머지 4: 목요일
W를 7로 나눈 나머지 5: 금요일
W를 7로 나눈 나머지 6: 토요일
여기에는 차이점이 느껴지지 않습니다.
그러나
사실은 아주 중요한 차이점이 있습니다.
[제라의 공식] Z는
이미 7로 나눈 연산이 적용되어 있다는 것입니다.
따라서
[제라의 공식] Z는
요일 구하는 것에
특화되어 있는 공식입니다.
그러나
[총일수 공식]은
7로 나눈 것이 아닙니다.
[총일수 공식]은
원하는 목적에 따라
원한다면 7로 나눠볼 수도 있고,
원한다면 10으로 나눠볼 수도 있고,
원한다면 12로 나눠볼 수도 있습니다.
여기에서는
[총일수 공식] W를 7로 나누면
그 결과로
[제라의 공식]이 유도됨을
증명하고자 합니다.
[총일수 공식]으로부터
[제라의 공식] 유도하기
(증명)
∴ W = 365Y + [Y]4 - [Y]100 + [Y]400 + [153M-1987]5 + D
7로 나눈 나머지를 계산할 것이므로
∴ W ≡ 365Y + [Y]4 - [Y]100 + [Y]400 + [153M-1987]5 + D (mod 7)
365 = 7×(52) + 1
365 ≡ 1 (mod 7)
∴ W ≡ Y + [Y]4 - [Y]100 + [Y]400 + [153M-1987]5 + D (mod 7)
[153M-1987]5 = 30M - 397 + [3M-2]5
30 ≡ 2 (mod 7)
397 ≡ 5 (mod 7)
∴ W ≡ Y + [Y]4 - [Y]100 + [Y]400 + 2M-5 + [3M-2]5 + D (mod 7)
2M-5 + [3M-2]5 = [13M-2]5 - 5 = [13(M+1)-15]5 - 5 = [13(M+1)]5 - 8
∴ W ≡ Y + [Y]4 - [Y]100 + [Y]400 + [13(M+1)]5 - 8 + D (mod 7)
8 ≡ 1 (mod 7)
∴ W ≡ Y + [Y]4 - [Y]100 + [Y]400 + [13(M+1)]5 + D - 1 (mod 7)
이제 연도 Y를 100으로 나눈 몫을 c, 나머지를 y라 하면
Y = 100×c + y
그리고
M = m, D = d로 놓으면
∴ W ≡ Y + [Y]4 - [Y]100 + [Y]400 + [13(m+1)]5 + d - 1 (mod 7)
[Y]4 = [100c + y]4 = 25c + [y]4
[Y]100 = [100c + y]100 = c + [y]100 = c
[Y]400 = [100c + y]400 = [[100c + y]100]4 = [c]4
∴ W ≡ (100c+y) + (25c + [y]4) - (c) + ([c]4) + [13(m+1)]5 + d - 1 (mod 7)
∴ W ≡ (124c+[c]4) + (y+[y]4) + [13(m+1)]5 + d - 1 (mod 7)
124 ≡ 5 (mod 7)
∴ W ≡ (5c+[c]4) + (y+[y]4) + [13(m+1)]5 + d - 1 (mod 7)
∴ W ≡ [21c]4 + [5y]4 + [13(m+1)]5 + d - 1 (mod 7)
그런데
'몫 함수'와 '바닥함수'의 관계에 의하면
즉
그런데
[제라의 공식]에 의하면
따라서
(단, 1월과 2월은 전년도 13월과 14월)
¶ (증명 끝)
계산 사례
문제:
2020년 1월 1일의 요일을 구하시오.
풀이 1):
[총일수 공식] 이용
1월은 전년 13월로 간주해야 하므로
공식을 이용할 때는
2019년 13월 1일의 요일을 구하면 됩니다.
Y = 2019, M=13, D=1
W = 365Y + [Y]4 - [Y]100 + [Y]400 + [153M-1987]5 + D
W = 737425
737425 = 7×(105346) + 3
W(Y, M, D) = W(2019, 13, 1) = 737425를
7로 나누면 나머지는 3이므로
수요일.
따라서
2020년 1월 1일은
수요일입니다.
풀이 2):
[제라의 공식] 이용
1월은 전년 13월로 간주해야 하므로
공식을 이용할 때는
2019년 13월 1일의 요일을 구하면 됩니다.
[제라의 공식]을 이용하려면
추가적으로
연도를 100으로 나눈 몫과 나머지를 구해줘야 합니다.
2019 = 100×(20) + 19
따라서
c=20, y=19, m=13, d=1
Z = 164
164 = 7×(23) + 3
Z(c, y, m, d) = Z(20, 19, 13, 1) = 164를
7로 나누면 나머지는 3이므로
수요일.
따라서
2020년 1월 1일은
수요일입니다.
◐공부합시다◑
기호에 대한 설명
<<바닥함수(내림함수)와 최대정수함수>> 정수이면 그대로 읽어주고 정수가 아니면 바로 아래쪽 정수값을 읽어주는 함수가 바닥함수 Floor(x) 입니다. |
<<천정함수(올림함수)와 최소정수함수>> 정수이면 그대로 읽어주고 정수가 아니면 바로 위쪽 정수값을 읽어주는 함수가 천정함수 Ceiling(x) 입니다. 최소정수함수(least integer function)라고 합니다. |
<<나눗셈의 몫과 나머지 함수>> b를 a로 나누었을 때 몫을 q, 나머지를 r이라 하면 |