Найти в Дзене
Абу

Определил какой день недели будет через 7 лет: как арифметика остатков помогает решить такого рода задачи

Можете верить или нет, но в очередную среду наткнулся на машину времени. Во дворе стоял карантин, делать было нечего - так я сорвался и рванул в будущее: узнать, какая судьба меня ждет спустя 7 лет. Увидел, что хотел увидеть, но остался один вопрос, что сегодня за день недели?

Машина времени
Машина времени

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

Глубокий вдох и вперед!
Глубокий вдох и вперед!

Первое, что бросается в глаза, так это цикличность. Каждые 7 дней все начинается по-новой. Как будто если бы вы шли по кругу, то в какой-то момент пришли бы в место, откуда начали.

Пример цикличности: хождение по кругу
Пример цикличности: хождение по кругу

Теперь давайте обозначим дни недели числами: понедельник - 1, вторник - 2, ..., воскресенье - 7. Учитывая нашу закономерность, мы можем ввести собственное сложение, которое назовем сложением по модулю 7 (кому-то может показаться странным тот факт, что мы вводим новое сложение, но можете успокоиться, это обыкновенная практика у математиков) и будем записывать это как a + b = c (mod 7) (mod здесь нужен, чтобы различать обыкновенное сложение от нашего), а читается это так: "a + b равно c по модулю 7".

Примеры:

  1. 3 + 7 = 3 + 14 = 3 (mod 7); Если сегодня среда, то через неделю или 2 недели также будет среда
  2. 5 - 2 = 3 (mod 7); Если сегодня пятница, то позавчера была среда.
  3. 11 = 4 (mod 7); Постепенно мы выходим за рамки представлений дней недели (так часто у математиков и бывает: они переносят жизненные ситуации в математику, а наша наука свою очередь дополняет ее, выходя за пределы), но это пока что можно объяснить для себя, представив 11 как сумму 4 и 7, тогда будет логичным, что, если сегодня четверг, то через неделю будет также четверг.
  4. 1 + 26 = 1 + (5 + 21) = (1 + 5) + 7*3 = 6 (mod 7); Если сегодня понедельник, то через 3 недели и 5 дней будет суббота.

Догадливые могли уже заметить, что сложение по модулю - это взятие остатка от результата по этому модулю. В последнем примере мы могли поделить 27 на 7 и получить в остатке 6, откуда и следует ответ. Но можно мыслить и дальше. Так как 26 = 5 (mod 7), то мы могли переписать пример в таком виде 1 + 26 = 1 + 5 = 6 (mod 7).

Поздравляю, вы познакомились с самой простейшей арифметикой остатков! Ачивка получена.

Наконец мы готовы посчитать, какой день недели будет через 7 лет, если сегодня среда. Нашу задачу мы разобьем на подзадачи, посчитав 365 = 350 + 14 + 1 = 1 (mod 7). Не забыв про високосный год, получим:

3 + 365*6 + 366 = 3 + 6 + 2 = 4 (mod 7). Ура! Будет четверг!

Итоги: помимо сегодняшней задачи, вариаций, где помогла бы арифметика остатков много. Теория чисел сама по себе - далеко идущая сфера, применимая к криптографии, вычислительной математике и информатики.