где с—количество столетий, а Y — номер года в столетии. Тогда можно доказать, что наш номер дня недели определяется при помощи сравнения
W ≡ d + [1/5 (13m -1)] + Y + [1/4 Y] + [1/4 c] — 2с (mod 7). (8.2.2)
Квадратные скобки, фигурирующие в этой формуле, были введены в § 3 главы 4 для обозначения наибольшего целого числа, не превосходящего числа, стоящего внутри этих скобок.
Пример. День Пирл-Харбора[12], 7 декабря 1941 г. Здесь
d = 7, m = 10, с = 19, Y = 41,
так что
W = 7 + 25 + 41 + 10 + 4 — 38 ≡ 0 (mod 7).
т. е. это было в воскресенье.
Пример. Каким днем недели будет 1 января 2000 года? Здесь
d = 1, m = 11, с = 19, Y = 99
и
W = 1 + 28 + 1 + 3 + 4 — 38 ≡ 6 (mod 7);
таким образом, первый день следующего столетия[13] будет субботой.
При пользовании этой формулой следует помнить, что ее нельзя применять для того периода, когда еще не был введен григорианский календарь. В Англии и английских колониях он был введен в 1752 году, при этом из календаря было опущено одиннадцать дней: 3 сентября стали считать 14 сентября по новому стилю[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 дней. Продолжая рассмотрение для последующих месяцев, мы получаем добавочные слагаемые в виде следующей таблицы:
§ 3. Расписания соревнований
В качестве другого простого применения теории сравнений можно рассмотреть составление расписаний соревнований, проходящих по круговой системе, подобных тем, которые составляются во всех видах соревнований от шахмат до футбола.
Обозначим количество участников (или команд) через N. Если число N — нечетное, то в каждом туре соревнований невозможно разбить все команды на пары — каждый раз одна из команд будет свободна от игры. Мы можем обойти эту трудность, добавив фиктивную команду T0 и составляя расписание для (N + 1)-й команды, включая команду Т0. В каждом туре команда, которой выпадает играть с командой Т0, будет свободна от игры.
Из сказанного следует, что можно считать количество команд N четным числом. Каждой команде мы сопоставим число
х = 1, 2…, N—1, N.
Общее количество туров, которое должна сыграть каждая команда, равно N — 1.
Предположим теперь, что х принадлежит множеству {1, 2…, N-1}. (8.3.1)
В качестве противника команды х в r-м туре мы назначим команду с номером у, из множества (8.3.1), где число yr удовлетворяет сравнению
x + yr ≡ r (mod (N — 1)). (8.3.2)
Чтобы увидеть, что при этом разные команды х имеют разных противников, заметим, что сравнение
x + yr ≡ r ≡ x' + yr (mod (N — 1))
означает, что
x ≡ x' (mod (N — 1))
или х = x', так как эти числа принадлежат множеству (8.3.1).
Единственная сложность возникает в том случае, когда х = yr, и таким образом в формуле (8.3.2) получаем
2x ≡ r (mod (N — 1)). (8.3.3)
Существует лишь одно значение х во множестве (8.3.1), для которого выполняется это соотношение. Действительно, если
12
День нападения японского флота на американскую военную базу Пирл-Харбор, начало войны США и Японии. (
13
Это распространенная ошибка. Первым днем следующего столетия будет 1 января 2001 года, который будет понедельником. (
14
У нас переход на григорианский календарь произошел в 1918 году; вместо 1 февраля старого стиля стали считать 14 февраля нового стиля. (