Найти тему
Mathemagic

#4 Научитесь вычислять день недели любой даты

Оглавление

Вступление

Всем привет! Я расскажу вам об одном фокусе математика Артура Бенджамина, который позволит вам почти моментально вычислять день недели по дате.

По какому календарю мы живем?

В нашей стране и почти по всему миру используется григорианский календарь. Его начали использовать повсеместно только 1600 года, поэтому, к сожалению, вычислить день недели, когда родился Леонардо да Винчи, не получится.

Напомню, в календарном году 365 дней, однако астрономически 1 год = 362,243 дней, поэтому каждый четвертый год - високосный. В нем 366 дней, чтобы компенсировать неточность в исчислении. Как правило, дополнительный день - это 29 февраля. Вы можете заметить, что разница в 0.243 день на протяжении 4-х лет будет равна 0.243*4 = 0,972 дня. Неправда! Надо добавлять не 1, а 0,972 дня! Но мы тогда запутаемся совсем.

Вот, что решили сделать. 1600-ый год приняли високосным, а вот 1700-ый, 1800-ый и 1900-ый - нет. То есть их просто исключили из числа високосных. И аналогично: 2000-ый год - високосный, а вот 2100-ый, 2200-ый и 2300-ый - нет. Так и получили календарь, соответствующий астрономической истине.

Учимся

Для начала запомню одну формулу: День недели = число + код месяца + код года(mod 7).

Что еще за mod?

Mod означает остаток от деления. Например 6 mod 2 = 0, потому что 6 делится на 2 без остатка. А 9 mod 4 = 1, потому что получим 2 и остаток 1. Помните, как в начальной школе делали?

Давайте еще потренируемся для укрепления. 14 mod 4 = 2. 36 mod 5 = 1. Если вы не поняли, то пишите вопросы в комментарии, я попробую объяснить иначе)

Коды дней недели

Их запомнить очень просто.

Коды дней недели
Коды дней недели

Коды месяцев

Здесь будет немного потруднее. Вот какую запоминалку предлагает Артур Бенджамин.

Коды месяцев
Коды месяцев

Исключение! В високосном году январь - 5, а февраль - 1.

Код года

Здесь есть небольшое правило. Начинаем с 2000 года, он високосный. Его код равен 0. Мы считаем от 0 до 6. Двигаемся к следующему году и прибавляем единицу. 2001 - 1. 2002 - 2. 2003 - 3. 2004 год - високосный. Поэтому мы прибавим не 1, 2. 2004 - 5. 2005 - 6. 2006 - 0. И так далее. Надеюсь, вам понятно.

Подсказка: Каждые 28 лет календарь в точности повторяется, поэтому, если у 2000 года код - 0, то и у 2028 года, и у 1972 года также код 0.

Осталось только сложить эти числа и взять остаток от деления результата на 7

Пример

Давайте посмотрим, на какое число пришлась дата 9 мая 1945 года.

Число - 9. Код мая - 0. Год - 1945. Помним, что каждые 28 лет календарь повторяется и прибавляем 28 столько раз, чтобы получить год, код которого мы знаем. 1945+28 = 1973. 1973+28 = 2001. А мы знаем, что код 2001 года - 1.

Cкладываем числа и смотрим на остаток от деления результата на 7. 9+0+1 = 10. 10 mod 7 = 3. А значит День Победы был в среду! Давайте проверим:

В самом деле, 9 мая 1945 года выпал на среду!
В самом деле, 9 мая 1945 года выпал на среду!

Заключение

Друзья, этот трюк потребует практики. С первого раза будет трудно и запомнить, и посчитать, но если вы несколько раз посчитаете день недели разных дат, то вам уже будет легче! Если я неправ, напишите в комментариях)

Спасибо за прочтение статьи! Если она вам понравилась, то ставьте лайки и подписывайтесь на канал Mathemagic. Буду благодарен, если вы поделитесь статьей с друзьями и родственниками!