맨위로가기

둠스데이 알고리즘

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

둠스데이 알고리즘은 특정 연도의 요일을 계산하는 방법으로, 특히 그레고리력 달력에서 날짜의 요일을 결정하는 데 사용된다. 이 알고리즘은 7의 배수를 이용하여 날짜 간의 요일 관계를 파악하고, 세기의 기준일을 계산하여 연도별 둠스데이를 구한다. 둠스데이는 한 해의 특정 날짜를 기준으로, 기억하기 쉬운 날짜(예: 4/4, 6/6)를 활용하여 다른 날짜의 요일을 쉽게 계산할 수 있도록 돕는다. 둠스데이 알고리즘은 다양한 계산 방법과 공식을 통해 특정 날짜의 요일을 빠르고 정확하게 계산할 수 있게 해주며, 요일 문자와의 관계를 통해 요일 정보를 제공하기도 한다.

더 읽어볼만한 페이지

  • 달력 알고리즘 - 율리우스일
    율리우스일(JDN)은 기원전 4713년 1월 1일 정오부터 경과된 일수를 소수점으로 표현하여 천문학에서 날짜와 시간 표현, 율리우스력과 그레고리력 간 변환, 두 시점 사이의 일수 계산에 사용되는 시스템이며, 컴퓨터 처리 효율을 위해 JD, MJD, TJD 등 다양한 변종이 활용된다.
  • 달력 알고리즘 - 부활절 날짜
    부활절 날짜는 예수의 부활을 기념하는 기독교 절기로, 천문학적 배경과 역사적 맥락에 따라 결정되며, 제1차 니케아 공의회 이후 알렉산드리아 교회에서 정한 춘분, 교회 보름달 등을 기준으로 계산되지만, 그레고리력과 율리우스력을 사용하는 교회 간에 차이가 발생한다.
  • 요일 - 일요일
    일요일은 토요일과 월요일 사이의 한 주의 마지막 날로, 많은 국가에서 휴일이며 기독교 문화권에서는 주일로 지켜지고, 헬레니즘 점성술에서 유래한 "태양의 날"을 의미하며, 콘스탄티누스 1세가 안식일로 선포한 이후 휴일로서의 의미가 확산되어 현대 사회에서 다양한 의미를 가진다.
  • 요일 - 목요일
    목요일은 수요일과 금요일 사이의 요일로, 유럽어권에서는 토르 또는 유피테르의 날에서 유래했으며, 한국과 일본에서는 목성을 상징하고, 인도에서는 브리하스파티를 지칭하며, 여러 종교에서 특별한 의미를 지니고, 한국의 대학수학능력시험과 영국의 총선이 치러지는 날이기도 하다.
둠스데이 알고리즘
개요
이름둠스데이 알고리즘
유형요일 결정 알고리즘
고안자존 호턴 콘웨이
용도특정 날짜의 요일 계산
작동 원리
핵심 개념둠스데이(Doomsday): 특정 연도의 특정 요일.
앵커 데이(Anchor day): 연도의 둠스데이가 해당하는 요일.
둠스데이 계산법해당 연도의 둠스데이를 계산.
요일 계산주어진 날짜와 해당 연도의 둠스데이 사이의 날짜 차이를 계산하여 요일을 결정.
주요 날짜
각 달의 둠스데이1월: 윤년 - 4일, 평년 - 3일
2월: 윤년 - 29일, 평년 - 28일
3월: 7일
4월: 4일
5월: 9일
6월: 6일
7월: 11일
8월: 8일
9월: 5일
10월: 10일
11월: 7일
12월: 12일
장점
암산 가능간단한 암산으로 요일 계산 가능
사용 용이성특별한 도구나 기록 없이 사용 가능
계산 방법
1단계해당 연도의 앵커 데이(Anchor day)를 계산.
2단계주어진 날짜와 해당 달의 둠스데이 사이의 날짜 차이를 계산.
3단계앵커 데이로부터 날짜 차이만큼 요일을 더하거나 빼서 해당 날짜의 요일을 결정.
유용성
실생활달력 없이 특정 날짜의 요일을 빠르게 확인
프로그래밍요일 계산 알고리즘 구현에 활용
예시
2024년 7월 4일2024년의 앵커 데이는 목요일이고, 7월의 둠스데이는 7월 11일이므로, 7월 4일은 목요일에서 7일 전인 목요일.
관련 항목
관련 알고리즘계산기

2. 원리

(대부분의 생존자들이 이 세기에 태어났다)3 (Treblesday)2000–2099화요일Y-Tue-K 또는 Twos-day
(Y2K가 이 세기의 시작이었다)2 (Twosday)2100–2199일요일Twenty-one-day is Sunday
(2100년은 다음 세기의 시작이다)0 (Noneday)2200–2299금요일—5 (Fiveday)



그레고리력의 경우, 기준일은 다음과 같이 구할 수 있다.


: 5 × (''c'' mod 4) mod 7 + 화요일 = 기준일
: ''r'' = ''c'' mod 4

: 만약 ''r'' = 0 이면 기준일 = 화요일

: 만약 ''r'' = 1 이면 기준일 = 일요일

: 만약 ''r'' = 2 이면 기준일 = 금요일

: 만약 ''r'' = 3 이면 기준일 = 수요일

(참고: c = \biggl\lfloor {\text{year} \over 100} \biggr\rfloor .)

다음으로, 연도의 기준일을 찾는다. 컨웨이에 따르면 이를 수행하는 방법은 다음과 같다.[11]

1. 연도의 마지막 두 자릿수(''y'')를 12로 나누고, ''a''를 바닥 으로 한다.

2. ''b''를 동일한 몫의 나머지로 한다.

3. 그 나머지를 4로 나누고, ''c''를 몫의 바닥으로 한다.

4. ''d''를 세 숫자(''d'' = ''a'' + ''b'' + ''c'')의 합으로 한다. (여기서 다시 7로 나누고 나머지를 구할 수 있다. 이 숫자는 ''y''에 ''y''를 4로 나눈 몫을 더한 것과 동일하다.)

5. 기준일로부터 지정된 일수(''d'' 또는 7로 나눈 나머지)만큼 앞으로 세어 연도의 둠스데이를 구한다.

:\begin{matrix}\left({\left\lfloor{\frac{y}{12}}\right\rfloor+y \bmod 12+\left\lfloor{\frac{y \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{기준일}=\rm{둠스데이}\end{matrix}

예를 들어, 20세기 1966년의 경우를 보면 다음과 같다.

:\begin{matrix}\left({\left\lfloor{\frac{66}{12}}\right\rfloor+66 \bmod 12+\left\lfloor{\frac{66 \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{수요일} & = & \left(5+6+1\right) \bmod 7+\rm{수요일} \\ & = & \rm{월요일}\end{matrix}

이는 다음과 동일하다.

:\begin{matrix}\left({66 + \left\lfloor{\frac{66}{4}}\right\rfloor}\right) \bmod 7+\rm{수요일} & = & \left(66+16\right) \bmod 7+\rm{수요일} \\ & = & \rm{월요일}\end{matrix}

따라서 1966년의 둠스데이는 월요일이었다.

마찬가지로, 2005년의 둠스데이는 월요일이다.

:\left({\left\lfloor{\frac{5}{12}}\right\rfloor+5 \bmod 12+\left\lfloor{\frac{5 \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{화요일}=\rm{월요일}

3. 연도별 둠스데이

그레고리력에서 특정 연도의 둠스데이는 아래 표를 통해 확인할 수 있다.

연도별 둠스데이에 해당하는 요일
189818991900190119021903190419051906190719081909
19101911191219131914191519161917191819191920
19211922192319241925192619271928192919301931
193219331934193519361937193819391940194119421943
19441945194619471948194919501951195219531954
19551956195719581959196019611962196319641965
19661967196819691970197119721973197419751976
19771978197919801981198219831984198519861987
198819891990199119921993199419951996199719981999
20002001200220032004200520062007200820092010
20112012201320142015201620172018201920202021
20222023202420252026202720282029203020312032
20332034203520362037203820392040204120422043
204420452046204720482049205020512052205320542055
20562057205820592060206120622063206420652066
20672068206920702071207220732074207520762077
20782079208020812082208320842085208620872088
208920902091209220932094209520962097209820992100



위 표는 가로 방향으로 채워지며, 윤년마다 한 열을 건너뛴다. 이 표는 율리우스력에서는 28년, 그레고리력에서는 400년마다 순환한다. 단, 그레고리력에서 100의 배수(1800, 1900, 2100과 같이 윤년이 아닌 해)이면서 400의 배수가 아닌 해(2000년은 윤년)는 예외이다. 전체 주기는 율리우스력에서는 28년(1,461주), 그레고리력에서는 400년(20,871주)이다.

1796년부터 2105년까지의 연도에 대한 앵커 데이는 아래 표와 같다.

1796년부터 2105년까지의 연도에 대한 앵커 데이
일요일월요일화요일수요일목요일금요일토요일
179617971798179918001801
180218031804180518061807
18081809181018111812
181318141815181618171818
18191820182118221823
182418251826182718281829
183018311832183318341835
18361837183818391840
184118421843184418451846
18471848184918501851
185218531854185518561857
185818591860186118621863
18641865186618671868
186918701871187218731874
18751876187718781879
188018811882188318841885
188618871888188918901891
18921893189418951896
1897189818991900190119021903
19041905190619071908
190919101911191219131914
19151916191719181919
192019211922192319241925
192619271928192919301931
19321933193419351936
193719381939194019411942
19431944194519461947
194819491950195119521953
195419551956195719581959
19601961196219631964
196519661967196819691970
19711972197319741975
197619771978197919801981
198219831984198519861987
19881989199019911992
199319941995199619971998
19992000200120022003
200420052006200720082009
201020112012201320142015
20162017201820192020
202120222023202420252026
20272028202920302031
203220332034203520362037
203820392040204120422043
20442045204620472048
204920502051205220532054
20552056205720582059
206020612062206320642065
206620672068206920702071
20722073207420752076
207720782079208020812082
20832084208520862087
208820892090209120922093
209420952096209720982099
210021012102210321042105


3. 1. 둠스데이 계산 방법

(대부분의 생존자들이 이 세기에 태어났다)3 (Treblesday)2000–2099화요일Y-Tue-K 또는 Twos-day
(Y2K가 이 세기의 시작이었다)2 (Twosday)2100–2199일요일Twenty-one-day is Sunday
(2100년은 다음 세기의 시작이다)0 (Noneday)2200–2299금요일—5 (Fiveday)



그레고리력의 경우, 수학 공식은 다음과 같다.

:5 × (''c'' mod 4) mod 7 + 화요일 = 기준일

알고리즘으로 풀면 다음과 같다.

:''r'' = ''c'' mod 4

:*만약 ''r'' = 0 이면 기준일 = 화요일

:*만약 ''r'' = 1 이면 기준일 = 일요일

:*만약 ''r'' = 2 이면 기준일 = 금요일

:*만약 ''r'' = 3 이면 기준일 = 수요일

율리우스력의 경우, 공식은 다음과 같다.

:6''c'' mod 7 + 일요일 = 기준일

:(참고: c = (year / 100)의 내림값)

다음으로, 연도의 기준일을 찾는다. 컨웨이에 따르면 이를 수행하는 방법은 다음과 같다.[11]

# 연도의 마지막 두 자릿수(''y''라고 한다)를 12로 나누고, ''a''를 몫의 바닥으로 한다.

# ''b''를 동일한 몫의 나머지로 한다.

# 그 나머지를 4로 나누고, ''c''를 몫의 바닥으로 한다.

# ''d''를 세 숫자(''d'' = ''a'' + ''b'' + ''c'')의 합으로 한다. (여기서 다시 7로 나누고 나머지를 구할 수 있다. 이 숫자는 ''y''에 ''y''를 4로 나눈 몫을 더한 것과 동일하다.)

# 기준일로부터 지정된 일수(''d'' 또는 ''d''/7의 나머지)만큼 앞으로 세어 연도의 둠스데이를 구한다.

:\begin{matrix}\left({\left\lfloor{\frac{y}{12}}\right\rfloor+y \bmod 12+\left\lfloor{\frac{y \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{기준일}=\rm{둠스데이}\end{matrix}

예를 들어, 20세기 1966년의 경우를 보면 다음과 같다.

:\begin{matrix}\left({\left\lfloor{\frac{66}{12}}\right\rfloor+66 \bmod 12+\left\lfloor{\frac{66 \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{수요일} & = & \left(5+6+1\right) \bmod 7+\rm{수요일} \\

\ & = & \rm{월요일}\end{matrix}

위의 4번 항목에서 설명한 바와 같이, 이는 다음과 동일하다.

:\begin{matrix}\left({66 + \left\lfloor{\frac{66}{4}}\right\rfloor}\right) \bmod 7+\rm{수요일} & = & \left(66+16\right) \bmod 7+\rm{수요일} \\

\ & = & \rm{월요일}\end{matrix}

따라서 1966년의 둠스데이는 월요일이었다.

마찬가지로, 2005년의 둠스데이는 다음과 같이 월요일이다.

:\left({\left\lfloor{\frac{5}{12}}\right\rfloor+5 \bmod 12+\left\lfloor{\frac{5 \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{화요일}=\rm{월요일}

둠스데이 규칙


둠스데이의 기준일 계산은 기본 연도의 특정 날짜와 현재 연도의 동일한 날짜 사이의 일수를 계산한 다음, 7로 나눈 나머지를 구하는 방식으로 이루어진다. 두 날짜 모두 윤일(있는 경우) 이후에 오는 경우, 차이는 365''y'' + ''y''/4 (내림)이다. 365는 52 × 7 + 1과 같으므로, 나머지를 구하면 다음과 같다.

:\left(y + \left\lfloor \frac{y}{4} \right\rfloor\right) \bmod 7.

이것은 ''y''의 큰 값을 4와 7로 나누는 데 익숙하다면 더 간단한 공식을 제공한다. 예를 들어, 다음과 같이 계산할 수 있다.

:\left(66 + \left\lfloor \frac{66}{4} \right\rfloor\right) \bmod 7 = (66 + 16) \bmod 7 = 82 \bmod 7 = 5

이는 위의 예와 동일한 답을 제공한다.

12가 관여하는 부분은 \bigl(y + \bigl\lfloor \tfrac{y}{4} \bigr\rfloor \bigr) \bmod 7의 패턴이 12년마다 '거의' 반복되기 때문이다. 12년 후에는 \bigl(12 + \tfrac{12}{4}\bigr) \bmod 7 = 15 \bmod 7 = 1이 된다. ''y''를 ''y'' mod 12로 바꾸면 이 추가 날짜를 버리는 것이 된다. 하지만 \bigl\lfloor \tfrac{y}{12} \bigr\rfloor를 다시 더하면 이 오류를 보정하여 최종 공식을 얻을 수 있다.

기준일을 계산하는 "홀수 + 11" 방법을 보여주는 간단한 순서도


연도의 기준일을 찾는 더 간단한 방법은 2010년 챔벌린 퐁과 마이클 K. 월터스에 의해 발견되었으며,[12] 제7회 국제 산업 및 응용 수학 회의 (2011)에 제출된 논문에 설명되어 있다. "홀수 + 11" 방법이라고 불리며, 이는 다음과 같은 계산과 같다.[12]

:\left(y + \left\lfloor \frac{y}{4} \right\rfloor\right) \bmod 7.

이는 4(또는 12)로 나누기가 필요 없고, "홀수 + 11" 규칙을 반복적으로 사용하기 때문에 암산에 적합하며, 절차를 기억하기 쉽다. 또한, 11을 더하는 것은 10진법 산술에서 암산으로 수행하기 매우 쉽다.

이를 기준일로 확장하면, 절차는 종종 다음과 같이 6단계로 ''T''의 누적 합계를 계산하는 것으로 설명된다.

# ''T''를 연도의 마지막 두 자리 숫자로 설정한다.

# 만약 ''T''가 홀수라면, 11을 더한다.

# 이제 ''T'' = ''T''/2.

# 만약 ''T''가 홀수라면, 11을 더한다.

# 이제 ''T'' = 7 − (''T'' mod 7).

# 세기의 기준일로부터 ''T''일 앞으로 계산하여 연도의 기준일을 구한다.

예를 들어, 2005년에 이 방법을 적용하면 단계는 다음과 같다.

# ''T'' = 5

# ''T'' = 5 + 11 = 16 (''T''가 홀수이므로 11을 더한다)

# ''T'' = 16/2 = 8

# ''T'' = 8 (''T''가 짝수이므로 아무것도 하지 않는다)

# ''T'' = 7 − (8 mod 7) = 7 − 1 = 6

# 2005년 둠스데이 = 6 + 화요일 = 월요일

홀수+11 방법에 대한 명시적 공식은 다음과 같다.

: 7- \left[\frac{y+11(y\,\bmod 2)}{2} + 11 \left(\frac{y+11(y\,\bmod 2)}{2}\bmod 2\right)\right] \bmod 7.

이 식은 복잡해 보이지만, 공통 부분식 \frac{y+11(y\,\bmod 2)}{2}가 있기 때문에 한 번만 계산하면 되므로 실제로는 간단하다.[12]

컴퓨터 사용을 위해, 해당 연도의 앵커 날짜를 계산하는 데 편리한 다음 공식들이 있다.

그레고리력의 경우:

:앵커 날짜 = 화요일 + y + (y/4의 내림값) - (y/100의 내림값) + (y/400의 내림값) = 화요일 + 5× (y mod 4) + 4× (y mod 100) + 6× (y mod 400)

예를 들어, 2009년의 둠스데이는 그레고리력(현재 사용되는 달력)에 따르면 토요일인데, 그 이유는 다음과 같다.

:토요일 (6) mod 7 = 화요일 (2) + 2009 + (2009/4의 내림값) - (2009/100의 내림값) + (2009/400의 내림값)

또 다른 예로, 1946년의 둠스데이는 목요일인데, 그 이유는 다음과 같다.

:목요일 (4) mod 7 = 화요일 (2) + 1946 + (1946/4의 내림값) - (1946/100의 내림값) + (1946/400의 내림값)

율리우스력의 경우:

:앵커 날짜 = 일요일 + y + (y/4의 내림값) = 일요일+ 5× (y mod 4) + 3× (y mod 7)

이 공식들은 그레고리력 시작 전 시대 및 율리우스력 시작 전 시대에도 적용된다.

3. 2. 둠스데이 표

그레고리력으로 특정 연도의 둠스데이를 보여주는 표는 다음과 같다.

'''연도별 둠스데이에 해당하는 요일'''
189818991900190119021903190419051906190719081909
19101911191219131914191519161917191819191920
19211922192319241925192619271928192919301931
193219331934193519361937193819391940194119421943
19441945194619471948194919501951195219531954
19551956195719581959196019611962196319641965
19661967196819691970197119721973197419751976
19771978197919801981198219831984198519861987
198819891990199119921993199419951996199719981999
20002001200220032004200520062007200820092010
20112012201320142015201620172018201920202021
20222023202420252026202720282029203020312032
20332034203520362037203820392040204120422043
204420452046204720482049205020512052205320542055
20562057205820592060206120622063206420652066
20672068206920702071207220732074207520762077
20782079208020812082208320842085208620872088
208920902091209220932094209520962097209820992100



이 표는 가로 방향으로 채워지며, 윤년마다 한 열을 건너뛴다. 이 표는 율리우스력에서는 28년마다, 그레고리력에서는 400년마다 순환한다. 단, 그레고리력에서 100의 배수(1800, 1900, 2100과 같이 윤년이 아닌)이면서 400의 배수(2000년은 여전히 윤년인 것처럼)가 아닌 해는 예외이다. 전체 주기는 율리우스력에서는 28년(1,461주), 그레고리력에서는 400년(20,871주)이다.

1796년부터 2105년까지의 연도에 대한 앵커 데이는 다음과 같다.

1796년부터 2105년까지의 연도에 대한 앵커 데이
일요일월요일화요일수요일목요일금요일토요일
179617971798179918001801
180218031804180518061807
18081809181018111812
181318141815181618171818
18191820182118221823
182418251826182718281829
183018311832183318341835
18361837183818391840
184118421843184418451846
18471848184918501851
185218531854185518561857
185818591860186118621863
18641865186618671868
186918701871187218731874
18751876187718781879
188018811882188318841885
188618871888188918901891
18921893189418951896
1897189818991900190119021903
19041905190619071908
190919101911191219131914
19151916191719181919
192019211922192319241925
192619271928192919301931
19321933193419351936
193719381939194019411942
19431944194519461947
194819491950195119521953
195419551956195719581959
19601961196219631964
196519661967196819691970
19711972197319741975
197619771978197919801981
198219831984198519861987
19881989199019911992
199319941995199619971998
19992000200120022003
200420052006200720082009
201020112012201320142015
20162017201820192020
202120222023202420252026
20272028202920302031
203220332034203520362037
203820392040204120422043
20442045204620472048
204920502051205220532054
20552056205720582059
206020612062206320642065
206620672068206920702071
20722073207420752076
207720782079208020812082
20832084208520862087
208820892090209120922093
209420952096209720982099
210021012102210321042105



세기별 기준일은 다음과 같다.

세기기준일
1600–1699화요일
1700–1799일요일
1800–1899금요일
1900–1999수요일
2000–2099화요일
2100–2199일요일
2200–2299금요일


4. 기억하기 쉬운 둠스데이

어떤 달력 날짜의 요일을 쉽게 찾기 위해서는 가까운 둠스데이를 기준으로 삼으면 편리하다. 각 달의 둠스데이를 쉽게 기억하는 방법은 다음과 같다.



미국 독립 기념일, 복싱 데이, 평년의 밸런타인데이 등도 매년 둠스데이에 해당한다.

기억할 만한 날짜월/일기억술[8][7][9]
1월1월 3일 (평년),
1월 4일 (윤년)
1/3 또는 1/44년 중 3년은 3일, 4번째 해는 4[9]
2월2월 28일 (평년),
2월 29일 (윤년)
2/28 또는 2/292월의 마지막 날
3월"3월 0일", 3월 14일3/0 그리고 3/142월의 마지막 날, 원주율
4월4월 4일4/44/4, 6/6, 8/8, 10/10, 12/12
5월5월 9일5/99시-5시 7-11에서
6월6월 6일6/64/4, 6/6, 8/8, 10/10, 12/12
7월7월 11일7/119시-5시 7-11에서
8월8월 8일8/84/4, 6/6, 8/8, 10/10, 12/12
9월9월 5일9/59시-5시 7-11에서
10월10월 10일10/104/4, 6/6, 8/8, 10/10, 12/12
11월11월 7일11/79시-5시 7-11에서
12월12월 12일12/124/4, 6/6, 8/8, 10/10, 12/12



특정 연도의 둠스데이는 그 해의 3월부터 다음 해 2월까지의 날짜 요일과 관련이 깊다. 따라서 같은 해 1월과 2월은 평년과 윤년을 구분해야 한다.

5. 요일 이름 연상 기호

이 알고리즘은 요일을 7을 법으로 하는 숫자처럼 취급하므로, 존 콘웨이는 요일과 숫자의 관계를 머릿속으로 일일이 세지 않고 기억하기 위해 요일을 "무요일" 또는 "일요일"(일요일), "일요일"(월요일), "이요일"(화요일), "세요일"(수요일), "네요일"(목요일), "다섯요일"(금요일), "여섯요일"(토요일)로 생각하는 것을 제안했다.[10]

요일색인
번호
연상 기호
일요일0무요일 또는
일요일
월요일1일요일
화요일2이요일
수요일3세요일
목요일4네요일
금요일5다섯요일
토요일6여섯요일



슬라브어군, 중국어, 에스토니아어, 그리스어, 포르투갈어, 갈리시아어, 히브리어와 같은 일부 언어는 요일 이름의 일부를 순서대로 사용한다. 슬라브어, 중국어, 에스토니아어는 위의 표와 일치하며, 언급된 다른 언어는 일요일을 첫 번째 요일로 계산한다.

6. 둠스데이 알고리즘의 활용

둠스데이 알고리즘은 특정 날짜의 요일을 빠르고 정확하게 계산하는 방법이다. 이 알고리즘을 활용하면 달력을 보지 않고도 요일을 알 수 있다.

둠스데이 알고리즘의 핵심은 '둠스데이'라는 기준 날짜를 이용하는 것이다. 둠스데이는 각 연도마다 요일이 정해져 있는 특정한 날짜이다. 예를 들어, 2024년의 둠스데이는 목요일이다.

둠스데이는 연도뿐만 아니라 월별로도 정해져 있다. 짝수 달(4, 6, 8, 10, 12월)은 해당 월의 날짜와 같은 숫자의 날이 둠스데이가 된다 (4월 4일, 6월 6일, 8월 8일, 10월 10일, 12월 12일). 홀수 달은 "나는 9시부터 5시까지 7-11에서 일한다"라는 문장을 통해 둠스데이를 기억할 수 있다 (5월 9일, 7월 11일, 9월 5일, 11월 7일).

기억할 만한 날짜월/일기억술[8][7][9]
1월1월 3일 (평년),
1월 4일 (윤년)
1/3 또는 1/44년 중 3년은 3일, 4번째 해는 4[9]
2월2월 28일 (평년), 2월 29일 (윤년)2/28 또는 2/292월의 마지막 날
3월3월 0일, 3월 14일3/0 그리고 3/142월의 마지막 날, 원주율
4월4월 4일4/44/4, 6/6, 8/8, 10/10, 12/12
5월5월 9일5/99시-5시 7-11에서
6월6월 6일6/64/4, 6/6, 8/8, 10/10, 12/12
7월7월 11일7/119시-5시 7-11에서
8월8월 8일8/84/4, 6/6, 8/8, 10/10, 12/12
9월9월 5일9/59시-5시 7-11에서
10월10월 10일10/104/4, 6/6, 8/8, 10/10, 12/12
11월11월 7일11/79시-5시 7-11에서
12월12월 12일12/124/4, 6/6, 8/8, 10/10, 12/12



1796년부터 2105년까지의 연도별 둠스데이는 다음 표와 같다.

1796년부터 2105년까지의 연도에 대한 앵커 데이
일요일월요일화요일수요일목요일금요일토요일
179617971798179918001801
180218031804180518061807
18081809181018111812
181318141815181618171818
18191820182118221823
182418251826182718281829
183018311832183318341835
18361837183818391840
184118421843184418451846
18471848184918501851
185218531854185518561857
185818591860186118621863
18641865186618671868
186918701871187218731874
18751876187718781879
188018811882188318841885
188618871888188918901891
18921893189418951896
1897189818991900190119021903
19041905190619071908
190919101911191219131914
19151916191719181919
192019211922192319241925
192619271928192919301931
19321933193419351936
193719381939194019411942
19431944194519461947
194819491950195119521953
195419551956195719581959
19601961196219631964
196519661967196819691970
19711972197319741975
197619771978197919801981
198219831984198519861987
19881989199019911992
199319941995199619971998
19992000200120022003
200420052006200720082009
201020112012201320142015
20162017201820192020
202120222023202420252026
20272028202920302031
203220332034203520362037
203820392040204120422043
20442045204620472048
204920502051205220532054
20552056205720582059
206020612062206320642065
206620672068206920702071
20722073207420752076
207720782079208020812082
20832084208520862087
208820892090209120922093
209420952096209720982099
210021012102210321042105



이 표는 율리우스력에서는 28년, 그레고리력에서는 400년마다 반복된다.

6. 1. 예시

2021년 크리스마스가 무슨 요일인지 알려면 다음과 같이 진행한다. 2021년의 둠스데이는 일요일이다. 12월 12일은 둠스데이이므로, 그로부터 13일 뒤(2주에서 하루 뺀 날)인 12월 25일은 토요일이다. 크리스마스는 항상 둠스데이의 전날이다. 또한 미국 독립 기념일(미국 독립 기념일)인 7월 4일은 항상 둠스데이와 같은 요일이며, 할로윈(10월 31일), 파이데이(3월 14일), 그리고 12월 26일(박싱 데이)도 마찬가지다.

1985년 9월 18일이 무슨 요일인지 알고 싶다고 가정해 보자. 먼저 세기의 기준 요일인 수요일부터 시작한다. 여기에 a, b, c를 더한다.[1]

이렇게 하면 a + b + c = 8이 된다. 수요일부터 8일을 세면 목요일에 도달하는데, 이는 1985년의 둠스데이이다. (숫자를 사용하면: 모듈로 7 산술에서 8은 1과 합동이다. 세기의 기준 요일이 수요일(인덱스 3)이고 3 + 1 = 4이므로 1985년의 둠스데이는 목요일(인덱스 4)이었다.) 이제 9월 18일을 근처의 둠스데이인 9월 5일과 비교한다. 18일은 둠스데이에서 13일 지난 날짜, 즉 2주보다 하루 적다는 것을 알 수 있다. 따라서 18일은 수요일이었다(목요일 바로 전날). (숫자를 사용하면: 모듈로 7 산술에서 13은 6 또는 더 간결하게는 -1과 합동이다. 따라서 둠스데이인 목요일에서 1을 빼면 1985년 9월 18일이 수요일이었다는 것을 알 수 있다.)[1]

미국 남북 전쟁이 1861년 4월 12일에 섬터 요새에서 발발했을 때 요일을 구한다고 가정해 보자. 해당 세기의 앵커 데이는 화요일로부터 94일 후, 즉 금요일이었다. (18 × 5 + ⌊18/4⌋로 계산, 또는 위에 있는 표에서 세기의 앵커 데이를 참조). 숫자 61은 6일의 변위를 주므로 둠스데이(doomsday)는 목요일이었다. 따라서 4월 4일은 목요일이었고, 8일 뒤인 4월 12일은 금요일이었다.[2]

7. 둠스데이와 요일 문자

L나머지 두 자리수 연도#율리우스력
(r ÷ 7)
그레고리력
(r ÷ 4)
r5 1916 20 r0A00 06   17 2328 34   45 5156 62   73 7984 900r4 1815 19 r3G01 07 12 1829 35 40 4657 63 68 7485 91 961r3 17해당 없음F02   13 19 2430   41 47 5258   69 75 8086   972r2 1618 22 r2E03 08 14   2531 36 42   5359 64 70   8187 92 983r1 15해당 없음D  09 15 20 26  37 43 48 54  65 71 76 82  93 994r0 1417 21 r1C04 10   21 2732 38   49 5560 66   77 8388 945r6 13해당 없음B05 11 16 2233 39 44 5061 67 72 7889 956


8. 400년 주기

둠스데이 알고리즘에서 그레고리력은 400년마다 반복되는데, 이는 400년 동안 정확히 146,097일, 즉 20,871주가 있기 때문이다. 따라서 1700-1799년의 앵커 데이는 2100-2199년의 앵커 데이와 같으며, 이들은 모두 일요일이다.

둠스데이의 전체 400년 주기는 아래 표와 같다. 세기는 가상 그레고리력 및 율리우스력(J)을 기준으로 표시되어 있다. 그레고리력 윤년은 강조 표시되어 있다.

400년 주기에서 요일 및 연도 유형별 그레고리력 둠스데이의 빈도
일요일월요일화요일수요일목요일금요일토요일합계
평년43434343444344303
윤년1315131513141497
합계56585658575758400



400년 주기 동안 특정 날짜가 특정 요일에 해당되는 빈도는 위 표에서 쉽게 알 수 있다. 예를 들어, 2월 28일은 전년도의 둠스데이 다음 날이므로 화요일, 목요일, 일요일에 각각 58번 해당한다. 2월 29일은 윤년의 둠스데이이므로 월요일과 수요일에 각각 15번 해당한다.

율리우스력은 28년 주기로 반복된다. 이 주기 동안 모든 요일은 윤년에 한 번, 평년에 세 번 나타난다. 평년은 윤년 이후 6년, 17년, 23년 후에 나타나므로, 6년, 11년, 6년, 5년 간격으로 불규칙하게 분포한다.

9. 율리우스력과 둠스데이

그레고리력은 현재 동지와 같은 천문 현상과 정확히 일치한다. 1582년에 율리우스력의 수정이 처음 시행되었다. 달력의 오차를 수정하기 위해 10일이 건너뛰어졌고, 종말일은 10일(즉, 3일) 앞으로 이동했다. 즉, 10월 4일 목요일(율리우스력, 종말일은 수요일) 다음 날은 10월 15일 금요일(그레고리력, 종말일은 일요일)이었다. 표에는 율리우스력 연도가 포함되어 있지만, 알고리즘은 그레고리력과 원시 그레고리력에만 적용된다.

그레고리력은 모든 국가에서 동시에 채택된 것이 아니므로, 수세기 동안 서로 다른 지역에서 같은 날짜에 서로 다른 날짜를 사용했다는 점에 유의해야 한다.

10. 둠스데이 계산 공식

어떤 한 날과 다른 한 날의 요일이 같으려면, 그 두 날 사이의 날짜 차이가 7의 배수여야 한다. 예를 들어 1월 1일1월 8일, 1월 15일은 같은 요일이다.[11]

4월 4일6월 6일은 63일 차이가 나며, 6월 6일8월 8일 역시 63일 차이가 난다. 이와 같이, 한 해 안에서 요일이 서로 같은 둠스데이의 날짜 차이 역시 7의 배수이다. 둠스데이는 한 해 안에서 항상 요일이 같은 날들 중 사람들이 기억하기 쉬운 날짜를 선택해서 만든 날들이다.[11]

둠스데이 알고리즘에서 현재 그레고리력 연도의 앵커 데이는 이다.

1796년부터 2105년까지의 연도에 대한 앵커 데이는 다음과 같다.

1796년부터 2105년까지의 연도에 대한 앵커 데이
일요일월요일화요일수요일목요일금요일토요일
179617971798179918001801
180218031804180518061807
18081809181018111812
181318141815181618171818
18191820182118221823
182418251826182718281829
183018311832183318341835
18361837183818391840
184118421843184418451846
18471848184918501851
185218531854185518561857
185818591860186118621863
18641865186618671868
186918701871187218731874
18751876187718781879
188018811882188318841885
188618871888188918901891
18921893189418951896
1897189818991900190119021903
19041905190619071908
190919101911191219131914
19151916191719181919
192019211922192319241925
192619271928192919301931
19321933193419351936
193719381939194019411942
19431944194519461947
194819491950195119521953
195419551956195719581959
19601961196219631964
196519661967196819691970
19711972197319741975
197619771978197919801981
198219831984198519861987
19881989199019911992
199319941995199619971998
19992000200120022003
200420052006200720082009
201020112012201320142015
20162017201820192020
202120222023202420252026
20272028202920302031
203220332034203520362037
203820392040204120422043
20442045204620472048
204920502051205220532054
20552056205720582059
206020612062206320642065
206620672068206920702071
20722073207420752076
207720782079208020812082
20832084208520862087
208820892090209120922093
209420952096209720982099
210021012102210321042105



이 표는 가로 방향으로 채워지며, 윤년마다 한 열을 건너뛴다. 이 표는 율리우스력에서는 28년마다, 그레고리력에서는 400년마다 순환한다.

먼저 세기의 기준일을 구한다. 둠스데이 규칙을 위해 세기는 '00으로 시작하여 '99로 끝난다. 다음 표는 1600–1699, 1700–1799, 1800–1899, 1900–1999, 2000–2099, 2100–2199, 2200–2299 세기의 기준일을 보여준다.

세기기준일
1600–1699화요일
1700–1799일요일
1800–1899금요일
1900–1999수요일
2000–2099화요일
2100–2199일요일
2200–2299금요일



그레고리력의 경우, 기준일은 다음과 같이 계산한다.



다음으로, 연도의 기준일을 찾는다. 컨웨이에 따르면 이를 수행하려면 다음과 같이 한다.[11]

# 연도의 마지막 두 자릿수(이것을 ''y''라고 부른다)를 12로 나누고, ''a''바닥 으로 한다.

# ''b''를 동일한 몫의 나머지로 한다.

# 그 나머지를 4로 나누고, ''c''를 몫의 바닥으로 한다.

# ''d''를 세 숫자(''d'' ''a'' + ''b'' + ''c'')의 합으로 한다. (여기서 다시 7로 나누고 나머지를 구할 수 있다. 이 숫자는 ''y''''y''를 4로 나눈 몫을 더한 것과 동일하다.)

# 기준일로부터 지정된 일수(''d'' 또는 의 나머지)만큼 앞으로 세어 연도의 둠스데이를 구한다.

:\begin{matrix}\left({\left\lfloor{\frac{y}{12}}\right\rfloor+y \bmod 12+\left\lfloor{\frac{y \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{기준일}=\rm{둠스데이}\end{matrix}

예를 들어, 20세기 1966년의 경우:[11]

:\begin{matrix}\left({\left\lfloor{\frac{66}{12}}\right\rfloor+66 \bmod 12+\left\lfloor{\frac{66 \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{수요일} & = & \left(5+6+1\right) \bmod 7+\rm{수요일} \\

\ & = & \rm{월요일}\end{matrix}

따라서 1966년의 둠스데이는 월요일이었다.

마찬가지로, 2005년의 둠스데이는 월요일이다.

:\left({\left\lfloor{\frac{5}{12}}\right\rfloor+5 \bmod 12+\left\lfloor{\frac{5 \bmod 12}{4}}\right\rfloor}\right) \bmod 7+\rm{화요일}=\rm{월요일}

컴퓨터 사용을 위해, 해당 연도의 앵커 날짜를 계산하는 데 편리한 다음 공식들이 있다.

그레고리력의 경우:

:\mbox{앵커 날짜} = \mbox{화요일} + y + \left\lfloor\frac{y}{4}\right\rfloor - \left\lfloor\frac{y}{100}\right\rfloor + \left\lfloor\frac{y}{400}\right\rfloor = \mbox{화요일} + 5\times (y\bmod 4) + 4\times (y\bmod 100) + 6\times (y\bmod 400)

예를 들어, 2009년의 둠스데이는 그레고리력(현재 사용되는 달력)에 따르면 토요일인데, 그 이유는 다음과 같다.

:\mbox{토요일 (6)} \bmod 7 = \mbox{화요일 (2)} + 2009 + \left\lfloor\frac{2009}{4}\right\rfloor - \left\lfloor\frac{2009}{100}\right\rfloor + \left\lfloor\frac{2009}{400}\right\rfloor

또 다른 예로, 1946년의 둠스데이는 목요일인데, 그 이유는 다음과 같다.

:\mbox{목요일 (4)} \bmod 7 = \mbox{화요일 (2)} + 1946 + \left\lfloor\frac{1946}{4}\right\rfloor - \left\lfloor\frac{1946}{100}\right\rfloor + \left\lfloor\frac{1946}{400}\right\rfloor

율리우스력의 경우:

:\mbox{앵커 날짜} = \mbox{일요일} + y + \left\lfloor\frac{y}{4}\right\rfloor = \mbox{일요일}+ 5\times (y\bmod 4) + 3\times (y\bmod 7)

참조

[1] 웹사이트 Tomorrow is the Day After Doomsday https://web.archive.[...] Eureka 1973-10
[2] 서적 Winning Ways: For Your Mathematical Plays, Volume. 2: Games in Particular Academic Press, London 1982
[3] 간행물 To Find the Day of the Week for Any Given Date Nature 1887-03-31
[4] 서적 The Universe in a Handkerchief: Lewis Carroll's Mathematical Recreations, Games, Puzzles, and Word Plays Springer-Verlag 1996
[5] 웹사이트 What Day is Doomsday https://ww2.amstat.o[...] Mathematics Awareness Month 2014-04
[6] 웹사이트 Not Just Fun and Games https://www.scientif[...] 2024-04-18
[7] Youtube John H. Conway - Doomsday, part 1 https://www.youtube.[...] Mathematical Association of America 2020-04-14
[8] Youtube The Doomsday Algorithm - Numberphile https://www.youtube.[...] 2023-07-09
[9] 웹사이트 Doomsday Algorithm http://rudy.ca/dooms[...] 2017-05-27
[10] 뉴스 On what day of the week is Christmas? Use the Doomsday Rule https://www.irishtim[...] 2022-07-20
[11] 웹사이트 Tomorrow is the Day After Doomsday https://www.archim.o[...] Eureka 1973-10
[12] 간행물 Methods for Accelerating Conway's Doomsday Algorithm (part 2) https://arxiv.org/ab[...] 7th International Congress on Industrial and Applied Mathematics 2011



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com