Часы Судного дня
- 1 year ago
- 0
- 0
Алгоритм (метод) судного дня ( англ. doomsday algorithm ) — алгоритм , позволяющий в уме посчитать, какой день недели приходится на выбранную дату . Разработан около 1970 года британским математиком Джоном Конвеем . Применим для дат по григорианскому календарю , но существуют модификации для юлианского календаря .
Алгоритм опирается на так называемый « судный день » ( англ. doomsday ). «Судным» назван последний день февраля — 28 февраля невисокосного года или 29 февраля високосного года . Зная день недели, приходящийся на последний день февраля выбранного года, и пользуясь алгоритмом, можно узнать день недели любой даты выбранного года.
Перед использованием алгоритма требуется узнать, какой день недели приходится на последний день февраля выбранного года. В 2024 году последний день февраля — четверг. Если следующий год невисокосный, то день недели последнего дня февраля следующего года будет смещён от дня недели последнего дня февраля текущего года на один день вперёд; если високосный, то — на два дня вперёд.
Опишем используемые алгоритмом закономерности.
Дни недели, приходящиеся на 4 апреля (04.04), 9 мая (09.05), 6 июня (06.06), 11 июля (11.07), 8 августа (08.08), 5 сентября (05.09), 10 октября (10.10), 7 ноября (07.11), 12 декабря (12.12), всегда совпадают с днём недели, приходящимся на последний день февраля. Например, в 2024 году последний день февраля — четверг и 4 апреля — тоже четверг. Для запоминания дат 04.04, 06.06, 08.08, 10.10, 12.12 можно заметить, что для чётных месяцев, начиная с апреля (4-го месяца), день месяца совпадает с номером месяца. Для запоминания пары 09.05, 05.09 и пары 07.11, 11.07 можно заметить, что на первую дату из пары приходится праздник (9 мая (09.05) — День Победы ; 7 ноября (07.11) — годовщина Октябрьской революции ), а вторая дата из пары получается перестановкой дня месяца и номер месяца. В английском языке известна запоминалка : « I work from 9 to 5 at the 7-11 » — «Я работаю с 9 до 5 в магазине „семь-одиннадцать“» .
Дни недели, приходящиеся на 3 января невисокосного года и на 4 января високосного года, совпадают с днём недели, приходящимся на последний день февраля (три невисокосных года — третье января, в четвёртом (високосном) году — четвёртое января).
Дни недели, приходящиеся на 7 марта (07.03), 14 марта (14.03), 21 марта (21.03) и 28 марта (28.03), совпадают с днём недели, приходящимся на последний день февраля. Заметим, что дни марта (7 , 14, 21, 28) кратны семи.
Далее перечислены месяцы, для которых при совпадении дней месяцев совпадают и дни недели:
Например, совпадают дни недели для 4 апреля и 4 июля (в 2021 году — воскресенье, в 2022 году — понедельник, в 2023 году — вторник), для 8 марта и 8 ноября (в 2021 году — понедельник), для 1 сентября и 1 декабря (в 2021 году — среда).
Итого:
Месяц | Последний день февраля | В високосных годах | Запоминалка |
---|---|---|---|
Январь | 03.01 | 04.01 | Три года 03 , в четвёртом — 04 |
Февраль | 28.02 | 29.02 | Последний |
Март | «00».03 | «Нулевой» и все, делимые на 7 | |
Апрель | 04.04 | ||
Май | 09.05 | Nine to five | |
Июнь | 06.06 | ||
Июль | 11.07 | Seven-eleven | |
Август | 08.08 | ||
Сентябрь | 05.09 | Nine to five | |
Октябрь | 10.10 | ||
Ноябрь | 07.11 | Seven-eleven | |
Декабрь | 12.12 |