Кэрол собирает информацию для своего фамильного древа. Так вышло, что она не знает дату рождения своей матери. Единственная зацепка, которую она нашла, — письмо ее дедушки к бабушке, которое он написал, когда родилась мать Кэрол. К сожалению, некоторые буквы стерлись (вместо них будут символы подчеркивания, причем количество этих символов никак не связано с количеством пропавших букв).
«Дорогая Вирджиния! Мог ли я знать, уходя на работу утром этого чудесного понедельника, что уже к вечеру у нас будет прекрасная дочурка. Да еще и прямо на годовщину нашей свадьбы! Я как сейчас помню тот невероятный выходной день, J___ 27th, 19___, когда мы поклялись друг другу в вечной любви и верности. Поздравляю тебя с нашей восьмой годовщиной, любовь моя! С любовью, Эдвин».
Задание: определите дату рождения матери Кэрол.
Для решения этой задачи вам нужно знать некоторые календарные правила:
Поскольку при делении 365 на 7 в остатке остается 1, в обычные годы любая дата смещается на один день недели вперед. То есть, если 31 июля в 2020 году — пятница, мы можем точно сказать, что в 2021 году это будет суббота.
А поскольку при делении 366 на 7 в остатке остается 2, в високосный год любая дата после 28 февраля смещается на 2 дня недели. Например, если 31 июля 2019 года — среда, мы знаем, что в 2020 году этот день должен припадать на пятницу.
Из письма Эдвина к Вирджинии мы знаем:
Практически во все восьмилетние периоды бывает по 2 високосных года и 6 обычных. Это значит, что за 8 лет дата сместится на 10 дней недели вперед (= на 3 дня недели).
Если Эдвин и Вирджиния поженились в субботу, восемь лет спустя будет вторник, а если в воскресенье, то среда. Но мы знаем, что восемь лет спустя годовщина свадьбы выпала на понедельник.
Такое может быть, только если в восьмилетний период был лишь один високосный год. А это значит, что этот период должен был начаться в 1900 году! Кроме того, Эдвин и Вирджиния должны были пожениться до 28 февраля, потому что при любой дате после этого числа в восьмилетний период все равно попало бы два дня 29 февраля (как если бы было 2 високосных года).
Таким образом, у нас есть полный ответ. Эдвин и Вирджиния поженились 27 января 1900 года, а мать Кэрол родилась 27 января 1908 года!
Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…
В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…
В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…
При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные…
В этом руководстве мы рассмотрим, как добавить социальную аутентификацию с помощью GitHub и Google в…
В этой статье мы рассмотрим, что такое подсказки типов и чем они могут быть полезны.…