Шрифт:
т. е. это было в воскресенье.
Пример. Каким днем недели будет 1 января 2000 года? Здесь
d = 1, m = 11, с = 19, Y = 99
и
W = 1 + 28 + 1 + 3 + 4 — 38 ≡ 6 (mod 7);
таким образом, первый день следующего столетия [13] будет субботой.
При пользовании этой формулой следует помнить, что ее нельзя применять для того периода, когда еще не был введен григорианский календарь. В Англии и английских колониях он был введен в 1752 году, при этом из календаря было опущено одиннадцать дней: 3 сентября стали считать 14 сентября по новому стилю [14] .
13
Это распространенная ошибка. Первым днем следующего столетия будет 1 января 2001 года, который будет понедельником. (Прим. перев.)
14
У нас переход на григорианский календарь произошел в 1918 году; вместо 1 февраля старого стиля стали считать 14 февраля нового стиля. (Прим. перев.)
Оставшаяся часть этого параграфа предназначена для тех, кто хотел бы познакомиться с выводом формулы (8.2.2). Вывод формулы проведем в два этапа. Во-первых, определим номер дня недели для 1 марта произвольного N– го года в формуле (8.2.1). Начнем отсчет от некоторого года, скажем, от 1600-го, и обозначим номер дня недели для 1 марта этого года через d1600. Можно было бы узнать номер этого дня из архивных документов, но можно обойтись и без этого, а получить его, как результат рассуждений.
Если бы не было високосных лет, то мы могли бы найти dN — номер дня недели 1 марта N– то года, просто добавляя по одному дню к d1600 для каждого из прошедших лет. Это дает число
d1600 + (100с + Y — 1600) (mod 7). (8.2.3)
Принимая во внимание високосные годы и предполагая, что они следуют регулярно каждый четвертый год, мы должны прибавить к первому выражению еще следующее:
[1/4 (100с + Y — 1600)] = 25с — 400 + [1/4 Y]. (8.2.4)
Однако это чуть больше, чем нужно, потому что год окончания каждого столетия обычно не бывает високосным, и ввиду этого мы должны вычесть число
с—16. (8.2.5)
Но мы должны еще учесть следующее исключение: если с — номер столетия, делится на четыре, то год 100 с считается високосным. Таким образом, нужно добавить последнюю поправку
[1/4 (с– 16)] = [1/4 с] — 4. (8.2.6)
Теперь мы сложим выражение (8.2.3) и (8.2.4), вычтем (8.2.5) и прибавим (8.2.6). Это даст нам номер дня недели 1 марта N– гo года в виде выражения
dN ≡ d1600 + 124с + Y — 1988 + [1/4 с] + [1/4 Y] (mod 7).
Чтобы упростить его, мы приводим числа по модулю 7 и таким образом получаем
dN ≡ d1600 — 2с + Y + [1/4 с] + [1/4 Y] (mod 7). (8.2.7)
Применим эту формулу к 1968 году, в котором 1 марта падает на пятницу, следовательно, d1968 = 5.
Здесь с = 19, [1/4 c] = 4, Y = 68, [1/4 Y] = 17,
и мы находим d1968 = 5 ≡ d + 2 (mod 7).
Это даст нам, что d1600 = 3, следовательно, 1 марта 1600 года было средой. Когда мы вставим полученное значение в (8.2.7). мы придем к формуле
dN = 3 — 2с + Y + [1/4 с] + [1/4 Y] (mod 7) (8.2.8)
для номера дня недели 1 марта N– го года.
Вторым этапом будет определение количества дней по модулю 7 от 1 марта до произвольно взятого дня этого года. Так как количество дней в месяце
меняется, то для этого требуется некоторая хитрость. Начнем с нахождения количества дней, которые нужно прибавить к номеру дня 1 марта, чтобы получить номер дня 1 числа любого другого месяца по модулю 7.
Так как в марте 31 день, то для получения номера 1 апреля нужно добавить 3, для получения номера 1 мая мы должны добавить 3 + 2 дней, так как в апреле 30 дней. Продолжая рассмотрение для последующих месяцев, мы получаем добавочные слагаемые в виде следующей таблицы: