Путеводитель по календарю или ликбез для не особо продвинутых

    «В июле 2011 5 пятниц, 5 суббот, 5 воскресений. Такое бывает раз в 823 года»

    Наверняка, вы не раз уже встречали подобные «откровения» в интернете, в первую очередь в твиттере. Пару раз в году обязательно начинается флуд на тему того, какое это редкое событие — 5 пятниц, суббот и воскресений в одном месяце.

    Причина этой радости прекрасно понятна — ведь, выходит, в этом месяце больше, чем обычно, выходных и дней, в которые принято напиваться! Вот только запаздывает осознание того, что от этого таких дней в году больше не становится.

    Но меня возмущает не флуд и беспричинная радость, а глупость утверждения о том, что это настолько редкое событие, что случается раз в 823 года. Все повторяют это друг за другом как попугаи, даже не задумываясь о корректности данного утверждения. А тем временем это откровеннейший бред, ведь такие месяцы выпадают часто, намного чаще, чем твердят недалекие «знатоки» календаря.

    В прошлый раз, когда такое событие произошло, я выместил свою злость и ярость на одного неплохого человека, с которым в результате этого больше не общаюсь. Но впредь я решил этой ошибки не повторять, а написать небольшую статью-ликбез, к которой буду отсылать теперь всех попугаев.

    Координаты чудес


    Для начала давайте рассмотрим, что же за особенный месяц такой, в котором по 5 пятниц, суббот и воскресений. Для примера возьмем все тот же июль 2011 года:

    image

    Как нетрудно заметить, 5 пятниц, суббот и воскресений в одном месяце (будем называть такие месяцы «волшебными») может быть только при выполнении двух условий:

    1. Месяц должен состоять из 31 дня.
    2. Месяц должен начинаться с пятницы.

    Месяцев из 31 дня в календаре целых семь: январь, март, май, июль, август, октябрь, декабрь. Месяцы, начинающиеся в пятницу, тоже не редкость, что очевидно. Такими были, например, октябрь 2010, январь 2010 и т. д.

    Копаем глубже


    Более того, день, с которого начинается тот или иной месяц, зависит только от того, с какого дня недели начинается год, и является ли этот год високосным (для всех месяцев кроме января). Для каждой пары «год/високосный год — месяц» смещение по разнице в днях недели постоянно. Смотрите таблицу:

    Собственно, смещение это накапливается с каждым месяцем и равно остатку от деления на 7 числа дней в каждом месяце (январь — 3, февраль — 0 или 1, март — 3 и т. д.). То есть, смещение составляет 3 дня для каждого месяца из 31 дней, 2 дня для месяцев из 30 дней и 0/1 день для февраля, который у нас такой особенный (1 для високосного года).

    Обратите внимание, что смещение выводится в виде остатка от деления на 7 (т.е. имеем кольцо классов вычетов по модулю семь).

    Таблица №1.

    Месяц Месячное
    смещение
    Месячное
    смещение (вис.)
    Смещение с
    начала года
    Смещение с
    начала года (вис.)
    январь 3 3 0 0
    февраль 0 1 3 3
    март 3 3 3 4
    апрель 2 2 6 0
    май 3 3 1 2
    июнь 2 2 4 5
    июль 3 3 6 0
    август 3 3 2 3
    сентябрь 2 2 5 6
    октябрь 3 3 0 1
    ноябрь 2 2 3 4
    декабрь 3 3 5 6

    Обратите внимание, что по результатам года общее смещение будет 1 для обычного года и 2 для високосного, что полностью соответствует действительности — остаток от деления 365 на 7 равен 1, а остаток от деления 366 — 2.

    Извлекаем истину на свет


    Итак, у нас есть результат, который мы хотим получить — нам нужно, чтобы месяц начинался с пятницы. Смещение от начала года нам известно, поэтому легко определить, с какого дня должен начинаться год для каждого из месяцев, чтобы этот месяц стал «волшебным».

    Следующая таблица вытекает из предыдущей (тут нас уже интересуют только 7 месяцев). Т. е., для каждого месяца получаем день недели, с которого должен начинаться год, чтобы этот месяц был «волшебным»:

    Таблица №2.

    Месяц Искомое
    начало года
    Искомое
    начало года (вис.)
    январь пятница пятница
    март вторник понедельник
    май четверг вторник
    июль суббота пятница
    август среда вторник
    октябрь пятница четверг
    декабрь воскресенье суббота

    Можете убедиться, этот год начался в субботу и не является високосным, поэтому июль стал «волшебным».

    Выходит, что такие месяцы есть практически в каждом году:

    Таблица №3.

    Начало года «Волшебные» месяцы «Волшебные» месяцы (вис.)
    понедельник - март
    вторник март май, август
    среда август -
    четверг май октябрь
    пятница январь, октябрь январь, июль
    суббота июль декабрь
    воскресенье декабрь -

    Получается, «волшебные» месяцы — не такая уж и редкость. Бывает даже по два таких месяца за один год. Хотя иногда бывает и такое, что за весь год нет ни одного такого месяца.

    Раз в 823 года


    Рассмотрим теперь тезис о том, что «волшебный» июль случается раз в 823 года. Как мы уже показали, такой июль случается каждый не високосный год, который начинается с субботы. Неужели это такая редкость — год, начинающийся с субботы? Здравый смысл подсказывает нам, что это обычное дело, а учитывая смещение на 1 день недели каждый год (и на 2 каждый високосный), случаться такое должно примерно раз в 7 лет.

    Не будем рассматривать все прошлые и будущие годы, просто взглянем на годы с 2000 по 2022 (ниже поймете, почему именно эти):

    Таблица №4.

    Год Начало Смещение
    2000 (вис.) суббота 2
    2001 понедельник 1
    2002 вторник 1
    2003 среда 1
    2004 (вис.) четверг 2
    2005 суббота 1
    2006 воскресенье 1
    2007 понедельник 1
    2008 (вис.) вторник 2
    2009 четверг 1
    2010 пятница 1
    2011 суббота 1
    2012 (вис.) воскресенье 2
    2013 вторник 1
    2014 среда 1
    2015 четверг 1
    2016 (вис.) пятница 2
    2017 воскресенье 1
    2018 понедельник 1
    2019 вторник 1
    2020 (вис.) среда 2
    2021 пятница 1
    2022 суббота 1

    Таким образом, с субботы начинаются 2000, 2005, 2011 и 2022 годы, но 2000 високосный, поэтому он нам не подходит. Но даже при этом примерно за 20 лет трижды встречается «волшебный» июль. Можете в этом убедиться сами, посмотрев на календарь.

    Так что, можете теперь с легкостью «предсказать», какие в скором времени будут «волшебные» месяцы. И не пишите, пожалуйста, бред о том, что это случается раз в 823 года. И не делайте ретвит!
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 64

      +9
      Очень детальный анализ! Когда залез под кат, ожидал пару взглядов на календарь, пару абзацев текста и всё, а тут всё намного интереснее
        +15
        Спасибо за отзыв! Мой первый пост на Хабре, совершенно не знаю, какой реакции ожидать.

        Скажите, пожалуйста, как-нибудь можно сделать так, чтобы этот пост был виден незарегистрированным пользователям Хабра (т.е. был виден снаружи любому посетителю сайта)? Собственно, писал я это в первую очередь для тех, кто любит писать эти бредни про раз в 823 года.
          –3
          Для «недоумков» с «бреднями» мне кажется хватит календарика. Они либо этого читать не будут, либо не поймут ничего.
            +4
            Ну да, в случае с некоторыми медицина бессильна, но есть те люди, которые принимают это за чистую монету и передают другим, как попугаи. Возможно, кто-то из них одумается и наконец-то разберется в сути вопроса.

            Но, с другой стороны, эта ситуация ярко характеризует свойство людей верить чему-то на слово, совершенно не задумываясь о том, верно это или нет. Хотя при этом истина лежит практически на поверхности.
            +1
            Чтобы стал виден — перенесите из персонального блога в подходящий общедоступный.
              0
              Пытался найти подходящий, не нашел. Можете подсказать, где этот пост будет уместен?
        0
        Да, помню как обьяснял сотруднице, что по логике за 7 лет должно быть в среднем 12 пятниц «13». Интересно, а какие циклы возникли бы, будь в неделе только 6 дней?
          +1
          Да, про «пятницы 13» из той же серии. Как-то прикидывал, что может так выпасть, что за один год будет сразу три таких пятницы.

          Кстати, из первой таблицы видно, что в обычные годы «синхронизированы» по дням недели февраль, март и ноябрь (смещение 3), а в високосные годы — январь, апрель и июль (смещение 0). Чтобы 13 выпало на пятницу, нужно, чтобы месяц начинался с воскресенья, т.е. для первой тройки год должен начинаться с четверга, а для второй — с воскресенья. Из последней таблицы находим подходящие годы: 2009 и 2012, в которых было (и будет) по три таких «черных» дня.

          Еще один инструмент для расчета конца света!
            0
            Вижу вторую статью автора про Пятницу Тринадцатого.
            Можно найти много новых интересных статей по календарной тематике.
              0
              Я думаю, комментария выше вполне достаточно для раскрытия темы «пятница 13». Отдельную статью писать не буду.

              Вижу смысл в дальнейшем исследовании для создания инструмента для определения дня недели по дате (в комментариях о таких таблицах писали). Но сейчас мне это не интересно.

              Хочу написать статью на совсем другую тему, но тоже интересную, я считаю.
            +1
            Кстати — стоит вспомнить 28 летний цикл — по распределению дней недели на числа каждые 28 лет полностью совпадают, началом цикла считается год идущий сразу за високосным, начинающийся в понедельник — 1973, 2001, 2029 и т.д.

            Я на коленке накидал скрипт в Excel для генерации
            календаря с 2001 года (начало цикла) по 2028 год с произвольной длинной недели (ну, посмотреть, как выглядела бы неделя на 6 или на 9 дней), кому интересно — пишите в личку, перешлю.
              +1
              П.С. Кому интересно — в 28-летнем цикле:
              пятница «13» выпадает 48 раз
              «волшебный» июль бывает 4 раза: в 5, 11, 16 и 22 годах

              Как и писал выше — это будет происходить В ЛЮБОМ 28-летнем цикле.
                +2
                > по распределению дней недели на числа каждые 28 лет полностью совпадают

                Наверное так было бы, если бы високосный год был каждые 4 года.
                Но в действительности високосный год считается чуть сложнее:
                Високосными является год, который целочисленно без остатка делится на 4, кроме тех лет, которые делятся на 100, но не делятся на 400.

                Таким образом из годов, кратных 100, годы 1600, 2000, 2400, 2800 — являются високосными, а вот годы 1700, 1800, 1900, 2100, 2200, 2300 — не являются високосными (хоть и делятся на 4).
                  +1
                  Верно, но если рассматривать отдельные столетия, то цикличность не будет нарушаться. К тому же нам в этом плане повезло — между 1900 и 2100 годами каждый четвертый год високосный и цикличность не нарушается.
                  0
                  Ну вот, как я и предполагал, такие циклы тоже есть. Всего лишь надо было взять временной промежуток побольше.

                  И число 28 не случайно, ведь это произведение 4 (период високосного года) на 7 (число дней в неделе).
                –2
                За то, в этом году будут симпатичные даты: 20:11 20.11.2011 и 11:11 11.11.11 :-)
                  0
                  «случаться такое должно примерно раз в 7 лет.»
                  а не в 8? если учесть +2 от високосного.
                    0
                    Эти +2 как раз ускоряют «проматывание» дней недели, но может быть ситуация, когда високосный год «съедает» день недели, и этот день недели пропускает один из циклов.

                    Посмотрите в последнюю таблицу. Для субботы: 2000, 2005 (+5), 2011 (+6), 2022 (+11, выпадение из цикла). Я этот вопрос не изучал, но, думаю, тут тоже есть свои циклы, просто более продолжительные.

                    Если бы не выпадения, то можно было бы сказать, что один и тот же день недели встречается примерно каждые 6 лет, но выпадения корректируют эту цифру и поднимают ее, поэтому я и указал 7 лет. Моя оценка могла показаться поверхностной, но на самом деле я учел описанные выше моменты.
                      0
                      Вообще-то, ближайший такой июль будет в 2016. Он там не выпадает. Выпадает он в 2028.
                    +2
                    Исправил одну ошибку. Для апреля в первой таблице было указано неверное смещение. Почему-то для остальных месяцев все было верно (потому и не вызвало подозрения при проверке смещения за год).
                      +2
                      Спасибо за пост! Буду теперь к нему отсылать всех «умников».

                      p.s. «Обратите внимание, что смещение выводится в виде остатка от деления на 7 (не помню, как называется это пространство чисел в дискретной математике).»

                      Это множество в математике называется кольцо классов вычетов по модулю 7 (или просто Z7)
                        0
                        Спасибо, у меня в памяти отложился только термин «кольцо» с университетских времен.
                          0
                          Еще довольно часто встречается запись Z/7Z
                          +2
                          Ну недоумки распространяют всякую фигню, ведь можно пройти мимо, нет же
                          xkcd.ru/i/386_v1.png
                          :)
                            +1
                            Это правда. Но если изначально целью было раскрыть глаза тем, кто не видит очевидного, то впоследствии стало интересно анализировать эту тему уже саму по себе. :)
                            +24
                            «Главная проблема цитат в интернете — в них все верят без проверки» (с) В.И.Ленин
                            • UFO just landed and posted this here
                                0
                                «Вон та цитата в интернете — моя, и это оригинал.» (с) В.И.Ленин.
                              +2
                              В среднем «волшебный» месяц (не обязательно июль) встречается почти ровно раз в год:

                              >>> [date(y, m, 31).weekday() for m in [1, 3, 5, 7, 8, 10, 12] for y in range(1,2001)].count(6)
                              2000
                              >>> [date(y, m, 31).weekday() for m in [1, 3, 5, 7, 8, 10, 12] for y in range(1,9001)].count(6)
                              8998

                              (python)
                                0
                                Могу на основании таблиц 2 и 3 в этом посте предположить, что в среднем это число равно точно единице. И все только потому, что месяцев из 31 дня ровно столько же, сколько дней недели — семь.

                                А в вашем примере погрешность может быть вызвана високосными годами.
                                  0
                                  Конечно, так и есть. Просто я тоже посчитал это первым делом с утра, разозлившись, хоть и не анализировал так глубоко :)
                                +9
                                Я в таких случаях недоумеваю, почему, например, никто не заостряет внимание, что 8 июня 2011 года случается вообще один раз за всё обозримое время. Куда уже уникальней.
                                  +6
                                  Тем более, что сегодня первый день проверки ipv6, а такое бывает только раз в каждом развитии гуманоидов, а то и не разу (если додумываются не изобретать ipv4 и сразу переходят на ipv6)
                                    +1
                                    > что 8 июня 2011 года случается вообще один раз

                                    Не факт.
                                    Не забывайте, что у учёных есть славная традиция собираться раз в 15 миллиардов лет и включать коллайдер.
                                    • UFO just landed and posted this here
                                        0
                                        угу, хороший повод отпразновать!
                                          0
                                          Я обычно говорю, мол да сегодня же первая среда за целую неделю!
                                          +1
                                          Ну вот, я уж было обрадовался, а тут факты вернули меня с небес.
                                            0
                                            Еще прибавить к статистике праздники, и на вопрос шефа — когда отпуск берешь?
                                            Ответом будет — так, щас расчитаю)
                                              +4
                                              календарь полностью повторяется раз в 28 лет
                                              календарь на 2000 год был в точности такой же, каким будет в 2028 году.
                                                +3
                                                %username%, экономь календарики! Через 28 лет отдашь их своим детям.
                                                  +1
                                                  Вы смеетесь, а у меня в детстве был настенный календарь, который мне пригодился спустя несколько лет — дни недели в точности совпадали.
                                                  0
                                                  а как же выпавшие високосные годы раз в сто лет ( исключая годы кратные четыремста)?
                                                    0
                                                    Чуть выше об этом писали в комментариях. Естественно, такие выпавшие високосные годы сбивают циклы.
                                                  0
                                                  При таких подсчётах в уме очень удобно начинать год с марта, тогда не приходится отвлекаться на високосные и запутаться сложнее.
                                                    0
                                                    Возможно, но при этом начало года будет не на границе промежутка, что может свести на нет это удобство.
                                                    +2
                                                    После чтения статьи вдруг вспомнилось, что были такие календарики, с нанесенными по кругу цифрами и закрепленным в центре бумажным кругом с прорезью, на которой, если не ошибаюсь, были отмечены дни недели. Если совместить специальную выемку на круге с нужным годом и месяцем, то можно было узнать какой был день недели и сколько дней в выбранном месяце, с учетом високосных годов. Где-то на 50 лет календарик был расчитан.

                                                    Описание сложное, но выглядит весьма просто. Думаю, работает по алгоритму, как в статье.
                                                      0
                                                      Да-да, у меня в детстве тоже была подобная штука. Но там была пара таблиц, которые позволяли по дате определить день недели. Я уверен, принцип действия у этих штук построен на тех же смещениях, которые я рассмотрел в своем посте. Так что, выходит, все уже давно проанализировали до нас. :)
                                                      0
                                                      В прошлый раз, когда такое событие произошло, я вымесил свою злость и ярость на одного неплохого человека, с которым в результате этого больше не общаюсь

                                                      Наверное тяжело живется в нашем мире, если такие вот «типа_умные_цитаты_интернета» так выводят из себя.
                                                        0
                                                        К глупости я отношусь довольно спокойно, но менее спокойно воспринимаю, когда глупят казалось бы умные люди. Хотя, конечно, от этого никто не застрахован.

                                                        На жизнь не жалуюсь, но от этой черты характера я бы без сожаления избавился. Эта статья — как раз часть работы над собой. :)
                                                        0
                                                        Автору, запустившему этот вирус, премию им. Курехина! Тот доказал, что люди поверят в чушь, вещаемую по ТВ, а этот — то же самое по твиттеру. Вот тебе и четвертый тоннель… № 823, б*ять. ДилеСофт, ты?

                                                        Я такими задачками баловался году этак на седьмом жизни…
                                                          +2
                                                          Прочитал, и подумал — а часто ли случаются месяцы, в которых две пятницы тринадцатого :). Заработался, наверно.

                                                          Интересная статья, спасибо.
                                                            +1
                                                            > а часто ли случаются месяцы, в которых две пятницы тринадцатого :)

                                                            Две блондинки разговаривают:
                                                            — Ты представляешь, в этом году Новый Год на пятницу приходится!
                                                            — Вот блин! Только бы не на 13.....
                                                            0
                                                            Месяц должен состоять из 31 дня.
                                                            Месяц должен начинаться с пятницы.
                                                            А как же сентябрь 2012?
                                                              +1
                                                              В нем 4 пятницы.
                                                                0
                                                                Чёрт, недостаточно вчитался, подумал, что речь идёт о пяти парах выходных.
                                                                Утро даёт о себе знать.
                                                              0
                                                              Почему статья для недоумков получает на хабре более +100?
                                                                0
                                                                Потому что она не только для недоумков. Если это кого-то обижает, я могу изменить заголовок.

                                                                А +100 это много на Хабре?
                                                                  0
                                                                  Дело не в заголовке. Изложены дейстительно элементарные вещи. Любой хоть немного мыслящий человек может проделать эти размышления, при этом не требуется никаких специальных знаний.
                                                                  То есть статья, как мне видится, дейстительно ценна только для недоумков. Но при этом пользуется некоторым успехом. Вот по этому поводу я и недоумеваю.
                                                                    0
                                                                    Ну насчет ценности вы зря так. Я даже сам для себя сделал некоторые интересные открытия по ходу написания этой статьи. Опять же, яркий пример того, как простейший анализ может привести к интересным открытиям.
                                                                0
                                                                О, отлично написал. :)

                                                                Только я одному идиоту просто сделал выборку — в каком году в каком месяце по пять этих дней. За две тысячи лет.

                                                                Only users with full accounts can post comments. Log in, please.