через какое время календарь повторяется день в день
Изучаем календарь
«Существует ли год, в котором ни один месяц не начинается в понедельник?»
На первый взгляд — да. Год может начинаться с любого дня недели, месяцы тоже каждый раз начинаются в разные дни недели. Вариантов множество, скорее всего, найдётся и не один такой год.
Так я подумал в первую минуту после того, как задался вопросом. Это следовало бы доказать. Перебрать все года, например. Простой и быстрый способ, но не интересный. Доказать математически было намного более заманчивой идеей, но как к этому подступиться я совершенно не понимал. Поэтому просто начал выписывать продолжительность каждого месяца на бумагу.
Тут стоит оговорить, что речь дальше пойдёт про григорианский календарь, по которому мы живём с 1918 года. Однако часть рассуждений будет верна и для юлианского.
На самом деле такого года не существует. Давайте разбираться почему.
Часть 1. Месяцы
| Янв | Фев | Март | Апр | Май | Июнь | Июль | Авг | Сен | Окт | Нояб | Дек |
| 31 | 28 / 29 | 31 | 30 | 31 | 30 | 31 | 31 | 30 | 31 | 30 | 31 |
| Янв | Фев | Март | Апр | Май | Июнь | Июль | Авг | Сен | Окт | Нояб | Дек |
| 3 | 0 / 1 | 3 | 2 | 3 | 2 | 3 | 3 | 2 | 3 | 2 | 3 |
если в месяце (28 + N) дней, то первое число следующего месяца сдвинется на N дней относительно дня недели первого числа текущего месяца.
Например, в этом году январь начался во вторник, поэтому февраль начался в пятницу. Вт + 3 = Пт.
Насколько же сдвинут день недели первого числа некоторого месяца? Чтобы найти это, надо просуммировать «излишки» дней над четырьмя неделями во всех предыдущих месяцах. В таблице представлены сдвиги относительно дня недели на первое января. Первая строка для невисокосного года, вторая для високосного.
| Янв | Фев | Март | Апр | Май | Июнь | Июль | Авг | Сен | Окт | Нояб | Дек |
| 0 | 3 | 3 | 6 | 8 | 11 | 13 | 16 | 19 | 21 | 24 | 26 |
| 0 | 3 | 4 | 7 | 9 | 12 | 14 | 17 | 20 | 22 | 25 | 27 |
| Янв | Фев | Март | Апр | Май | Июнь | Июль | Авг | Сен | Окт | Нояб | Дек |
| 0 | 3 | 3 | 6 | 1 | 4 | 6 | 2 | 5 | 0 | 3 | 5 |
| 0 | 3 | 4 | 0 | 2 | 5 | 0 | 3 | 6 | 1 | 4 | 6 |
Вот теперь другое дело! Ясно видно, как определить день недели на первое число любого месяца, если известен день недели на первое января. Надо просто прибавить сдвиг для интересующего месяца. Закономерность февраль-март-ноябрь я знаю ещё со школы, а другие не замечал.
Мы получили ответ на вопрос в начале статьи.
Так как для обоих вариантов года в таблице присутствуют все сдвиги от 0 до 6, то в любом году есть месяц, который начинается в какой-то определённый день недели.
Но теперь можно задавать другие вопросы. Например, «в каких годах такой месяц только один?» или «в какие года таких месяцев максимально много?». Для этого надо уметь определять день недели на первое января любого года.
Часть 2. Годы
Когда я учился программировать, а это было в 10 классе школы на PascalABC, одним из первых серьёзных заданий было реализовать процедуру, распечатывающую календарь на год, который передавался как аргумент. У нас были подсказки, какие функции для этого надо реализовать. В целом всё сводилось к подсчёту дней между двумя датами: эталонной и текущей, чтобы определить день недели на первое января нужного года.
Такой подход работал, но скорость зависела от того, насколько близко необходимый год к эталонному. Меня это расстраивало, но придумать что-то лучше я тогда не смог. Теперь же настал идеальный момент, чтобы до конца разобраться в этом.
Високосные года в григорианском календаре назначаются следующим образом:
Из этого описания видно, что цикл високосности имеет период в 400 лет. Но не ясно, будут ли такие четырёхсотлетние циклы начинаться в один и тот же день недели.
Заметим, что первое января от года к году смещается на один или два дня недели, и напишем
В григорианском календаре все четырёхсотлетние циклы начинаются в понедельник.
Первое столетие начинается со смещением по циклу, равным 0, второе со смещением 4, третье со смещением 8 и четвёртое со смещением 12. Именно для этого таблица представлена в виде, где в столетии есть «сотые» года и нет нулевых. Стоит сказать, что всего существует 14 различных вариантов года. В двадцативосьмилетнем цикле по одному разу на каждый день недели приходится начало високосного года и по три раза начало не високосного.
Теперь мы можем определить день недели для любой даты, не используя опорных дат. Для этого нам надо понять, в каком столетии внутри четырёхсотлетнего цикла находится год и какой он по счёту в этом столетии. По таблице определим день недели на первое января года, а с помощью первой части статьи — день недели в конкретное число нужного месяца. Вместо тысячи слов
Часть 3. Итоги
С помощью всего двух таблиц можно определить день недели для любой даты, не используя при этом опорных дат.
| Янв | Фев | Март | Апр | Май | Июнь | Июль | Авг | Сен | Окт | Нояб | Дек |
| 0 | 3 | 3 | 6 | 1 | 4 | 6 | 2 | 5 | 0 | 3 | 5 |
| 0 | 3 | 4 | 0 | 2 | 5 | 0 | 3 | 6 | 1 | 4 | 6 |
Во время написания статьи, я нашёл на Хабре две схожие по тематике: раз и два. Автор первой с помощью специальной таблицы показывает, как найти в уме день недели для дат в XX и XXI веках. Представленная им таблица содержит 56 чисел. Предложенный в статье алгоритм использует таблицу дней недели и две таблицы смещений, содержащие (28 + 2*12) = 52 числа, которые необходимо запомнить. Весь исходный код лежит на GitHub’е.
Интересный факт: с 1 по 13 февраля 1918 года в Советской России не родился ни один человек.
Задавайте себе вопросы с утра по воскресеньям =)
Обновление от 03.07.2019 (среда)
Если представить двадцативосьмилетний цикл в виде таблицы,
то становится понятно, как можно вычислить смещение дня недели на первое января:
С учётом этого, а также того, что смещения для месяцев в високосном году можно вычислить через смещения в невисокосном, напишем
Таким образом, можно вычислить день недели для любой даты, зная всего лишь 12 чисел: смещения дней недели на первое число каждого месяца.
LiveInternetLiveInternet
–Метки
–Рубрики
–Музыка
–Поиск по дневнику
–Подписка по e-mail
–Друзья
–Сообщества
–Трансляции
–Статистика
C какой периодичностью повторяется календарь за разные годы, так что дни недели и числа совпадают?

Однако мы знаем, что, кроме обычных, существуют еще и високосные года. Они-то нам все и портят. Но не очень. Мы просто купим еще семь календарей. Ведь даже високосный год может начаться только с какого-то одного дня недели (с понедельника по воскресенье).
Календари високосных лет совпадают полностью через 28 лет. То есть календарь 2012 года будет актуален и для 2040 года.
В предвисокосный, например в 2011, делаем все наоборот. Для 2011 года пригодился бы календарь 2005 года. А вот календарь 2011 года потребуется только в 2022 году.
Надеюсь, что смог понятно объяснить.
А если бы в любом году было 364 дня, то календарь был бы один.
А почему именно 28? Потому, что 28 = 7 * 4.
Отталкиваясь от этой идеи, можно найти повторение календаря для любой системы.
Например если бы в неделе было 13 дней, а високосный год повторялся бы каждые 5 лет, то календарь бы повторялся каждые 13 * 5 = 65 лет.
Ответы на календарные вопросы
Возможно, что из вредности я поместил эти вопросы в свою миниатюру, забывая, что в летнюю жару трудно соображать на отвлечённые темы. Поэтому безо всяких претензий помещаю правильные ответы:
1. Почему календари полностью повторяются через 28 лет?
В обычном году 365 дней, что составляет 52 недели и один день: 7 х 52 + 1 = 365.
Этот один день сдвигает календарь следующего года на один день недели. Будь в каждом году 365 дней, то календари повторялись бы через 7 лет. Однако високосный год с 366 днями раз в 4 года сдвигает календарь на два дня недели. Таким образом, календарь повторяется через: 7 х 4 = 28 лет.
2. Какие два месяца подряд имеют по 31 дню?
Если вы назвали июль и август, то правы, но только наполовину. Для полного ответа надо назвать ещё декабрь и январь.
3. Какая вероятность того, что пятница выпадет на 13-е число месяца?
Число 13 есть в каждом месяце, и на него может выпасть любой день недели, включая пятницу. Отсюда следует, что пятница выпадает на это число с вероятностью 1 к 7, либо 14,3%, что не так мало.
Пятница 13-го (или день неприятностей) — распространённый, благодаря численным суевериям миф, по которому именно в этот день следует быть постоянно начеку, готовым к любым неприятностям и стараться остерегаться всяческого рода неудач.
Данная фобия рассматривается как частный случай трискайдекафобии (боязнь числа 13). Уверен, что вас такая фобия не касается.
Можно ли использовать календарь повторно?
Погодите выбрасывать календари!
Дело в том, что существует определённая закономерность в совпадении календарей разных лет с точностью до дней недели и чисел. Таким образом, можно даже немного сэкономить.
Постоянный читатель еженедельника «Аргументы и факты в Беларуси», ведущий инженер факультета радиофизики и компьютерных технологий Центра аэрокосмического образования БГУ Владимир МАРУШКЕВИЧ увлекся календарями давно. В 1989 году читатель отдыхал у родственников и увидел брошюру c календарем на 1961 год. Тогда Владимир Станиславович заметил, что он полностью идентичен действующему календарю 1989 года.
Послевисокосный год тоже имеет свои особенности. Для него можно использовать календарь года, который получается, если отнять от текущего 11 лет. Календарь же послевисокосного года можно использовать заново через 6 лет.
Для года, который предшествует високосному, наоборот, подойдет календарь шестилетней давности, а календарь предвисокосного года можно использовать заново только через 11 лет.
Календарь обычного года, не отмеченного вышеперечисленными особенностями, можно использовать каждые 11 лет.
Владимир Станиславович разработал таблицу (патент на полезную модель №7567 BY), в которой можно быстро разобраться, в каком году и какой календарь подойдет. Для наглядности мы взяли период с 1905 по 2055 годы.
Судя по таблице, календарь на 2017 год совпадает с календарями на 1961 и 1989 годы. А вот для наступающего 2018 года подойдут старые календари на 1962 и 1990 годы.
Почему календари разных лет полностью совпадают
Пользователи Казнета предлагают не покупать календарь на 2021 год, а использовать старый, за 1937, так как они полностью совпадают, пишет Otyrar.KZ.
Вряд ли у кого-то дома найдется календарь, выпущенный 84 года назад, но если все же его удастся раздобыть, то дни в нем действительно будут полностью совпадать с календарем 2021 года.
На самом деле идентичные календари – не уникальное явление. Пользователи Сети довольно часто делятся своими наблюдениями и фотографиями полностью идентичных календарей разных лет. К примеру, дни в 2014 году полностью совпали с днями 1986-го, а 2019 год совпадал с 2013-м.
Рассчитать такое совпадение календарей несложно: календари високосного года полностью повторяются каждые 28 лет. Календарь следующего за високосным годом совпадет с календарем 11-летней давности. То есть для 2017 года подходит календарь 2006-го или 1995-го. Для расчетов на будущее к следующему после високосного года нужно прибавить шесть лет. Значит, календарь 2017 года будет также актуальным и для 2023-го.
С годами, предшествующими високосным, считать нужно наоборот – отнимать шесть, чтобы узнать, какие года в прошлом были идентичны искомому, и прибавлять 11, чтобы понять, в каком году календарь понадобится вновь.
Для регулярных лет, которые находятся между предвисокосным и послевисокосным годами, правила расчетов немного проще: и прибавлять, и отнимать следует 11 лет.
На этих расчетах создавались так называемые вечные календари. Они представляли собой вращающиеся диски либо таблицы и позволяли узнать, какой день недели выпадет на конкретную дату в любом году, включенном в саму таблицу.





