Категории: Интересное

Как определить день недели по дате, не заглядывая в календарь

Чтобы без помощи календаря определить день недели для любой даты, не обязательно быть гением или ясновидящим. Достаточно запомнить пару формул. Заодно это упражнение может стать неплохой тренировкой для ума и памяти.

Для определения дня недели по дате нужно использовать формулу:

день недели = (день + код месяца + код года) % 7

Пояснения

Код месяца

Коды месяца и года — это, пожалуй, самое трудное в формуле.

Код месяца нужно просто запомнить.

  • 1 — январь, октябрь;
  • 2 — май;
  • 3 — август;
  • 4 — февраль, март, ноябрь;
  • 5 — июнь;
  • 6 — декабрь, сентябрь;
  • 0 — апрель, июль.

Чтобы запоминать подобные нелогичные данные, проще всего прибегать к ассоциациям.

Код года

Код года в XXI веке рассчитывается по формуле:

код года = (6 + последние две цифры года + последние две цифры года / 4) % 7

Оператор «/» означает неполное частное, то есть целую часть результата деления.

  • 2015 год: (6 + 15 + 15 / 4) % 7 = (6 + 15 + 3) % 7 = 25 % 7 = 4;
  • 2016 год: (6 + 16 + 16 / 4) % 7 = (6 + 16 + 4) % 7 = 26 % 7 = 5;
  • 2017 год: (6 + 17 + 17 / 4) % 7 = (6 + 17 + 4) % 7 = 27 % 7 = 6;
  • 2026 год: (6 + 26 + 26 / 4) % 7 = (6 + 26 + 6) % 7 = 38 % 7 = 3.

Если вы захотите узнать день недели для даты другого века, придётся учитывать ещё значения века (6, 4, 2, 0). Вместо 6 для ближайших веков будут следующие значения:

  • 16хх: 6;
  • 17хх: 4;
  • 18хх: 2;
  • 19хх: 0;
  • 20хх: 6;
  • 21хх: 4 и так далее.

% 7

Здесь просто: % — оператор остатка при делении.

Расшифровка результата

Старт отсчёта — выходные, то есть: 0 — суббота, 1 — воскресенье и так далее.

Примеры расчёта

  • 25 июля 2016 года: (25 + 0 + 5) % 7 = 30 % 7 = 2 — понедельник;
  • 8 августа 2017 года: (8 + 3 + 6) % 7 = 17 % 7 = 3 — вторник;
  • 5 января 2127 года:
    • (4 + 27 + 27 / 4) % 7 = (4 + 27 + 3) % 7 = 34 % 7 = 6 — код года;
    • (5 + 1 + 6) % 7 = 10 % 7 = 5 — четверг.

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

UPD. К сожалению, эта формула не совсем верно работает для високосного года. До 29 февраля включительно к формуле придётся прибавить ещё единицу, чтобы получить верный день. Спасибо читателям, что обнаружили ошибку.

Последние новости

Испания оштрафовала бюджетные авиакомпании на 179 млн евро. Их наказали за требование доплачивать за ручную кладь и выбор места

Испания оштрафовала пять бюджетных авиакомпаний — Ryanair, EasyJet, Vueling, Norwegian Air и Volotea — за…

59 минут назад

Вышел трейлер «Элио» — нового оригинального мультфильма Pixar

Премьера состоится в следующем году.

11 часов назад

Минимум 14 шахедов сегодня заходили в Беларусь, один долетел до Речицы, некоторые пропали

Начиная с 6:00 утра 22 ноября зафиксировано как минимум 14 заходов российских дронов-камикадзе типа «шахед»…

11 часов назад

Лавров в Бресте рассказал белорусской молодежи, что «от Украины останется какая-то часть»

Министр иностранных дел России приехал в Брест на совместную коллегию и решил пообщаться со студентами.

11 часов назад

Водители Пинска бьют тревогу: ослепляющий свет фар со “встречки” создает угрозу аварии

С каждым годом на дорогах Полесья увеличивается количество автомобилей, и вместе с этим растет число…

11 часов назад

Вредно ли есть кислые мармеладки и конфеты

Увы, главная проблема не в том, что они быстро заканчиваются.

14 часов назад