Knowledge
No. | 173 |
Subject. | 요일 계산법 - 둠스데이 |
Date. | 2017-01-09 13:30:27.0 (121.78.49.66) |
Name. | swindler |
Hit. | 3315 |
File. | |
우연히 이런걸 계산하는 사람도 있다고 하길래 찾아봤다. 일반적으로 많이 사용하는게, '첼러의 공식'과 '둠스데이' 방식인 것 같은데, Zeller 의 경우 암산만으로 계산하는데는 조금 어려움이 있을 듯 하여, 둠스데이 알고리즘을 외워보기로 결정했다. 계산만으로 복잡한 것을 줄이기 위해서, 몇가지를 외우는 방식이라고 이해하면 될 듯 하다. 일단 달마다 요일이 같은 날을 외워둔다. (이 날짜를 둠스데이라고 부른다.) 4월 4일, 6월 6일, 8월 8일, 10월 10일, 12월 12일 (외우기 쉬운날로 정리한듯) 5월 9일, 9월 5일 , 7월 11일, 11월 7일 (앞뒤 숫자만 바꿔서 또 외우기 쉬운쪽으로..) 1월 31일 (윤년의 경우 1월 32일, 즉 2월 1일) 2월 마지막날 (평년인 경우 28일, 윤년인 경우 28일) 3월 0일 (2월과 같은 날짜. 계산을 쉽게 하기 위해서 억지로 집어 넣은듯.) 1월 - 31일 (윤년 32일) 2월 - 마지막날 (윤년은 29일) 3월 - 0일 4월 - 4일 5월 - 9일 6월 - 6일 7월 - 11일 8월 - 8일 9월 - 5일 10월 - 10일 11월 - 7일 12월 12일 이 날짜를 기본적으로 외워두고 해당년의 둠스데이 요일을 알아낸다. 기본적으로 일요일 - 0, 월 - 1, 토 - 6 으로 생각한다. 둠스데이의 기점은 100년마나 바뀌는데, 1800 - 1899년 금요일 1900 - 1999년 수요일 2000 - 2099년 화요일 2100 - 2199년 일요일 그레고리력은 400년마다 달력이 같아지므로, 금-수-화-일 순서로 계속 돌아간다. 그리고, 마지막으로 년도로 계산을 해야 한다. A. 년도의 마지막 2자리를 12로 나눈 몫 B. 년도의 마지막 2자리를 12로 나눈 나머지 C. B의 값을 4로 나눈 몫 ex) 1991 A. 7 (91/12) B. 7 (91-84) C. 1 (7/4) 세 수를 더하면 둠스데이의 요일이 나온다. 그 다음에, 알고자 하는 날짜와 둠스데이를 비교하면 된다. ex) 1945년 8월 15일 A : 45 / 12 : 몫 3 B : 45 / 12 : 나머지 9 C : B / 4 몫 : 2 A+B+C : 14 (7일이므로 0과 같다.) 1900-1999년 둠스데이는 수요일이므로 1945년 8월 8일 (둠스데이) : 수요일 8월 15일은 7일 후이므로 수요일이 된다. ps. 좀더 연습하면 1900-2100년 사이의 날짜들은 10초 이내에 계산해낼 수 있을듯 하다 ㅎㅎ [바로가기 링크] : http://coolx.net/board/know/173/0 |
|
|
|
[Modify] [Delete] | [List] |