Приглашение в теорию чисел - страница 33
Но на этом наши трудности не кончаются. В юлианском календаре, введенном по указу Юлия Цезаря, было принято, что год точно равен 365 1/4 дня, в соответствии с правилом високосного года. Однако это не совсем правильно, так как астрономический год в действительности равен 365,2422 дня.
Эта маленькая ошибка вызвала постепенный сдвиг сезонов по отношению к календарю, например, в шестнадцатом веке день весеннего равноденствия (первый день весны) пал на 11 марта вместо 21 марта, как это должно было быть.
Чтобы исправить положение, в 1582 году папа Григорий XIII после долгих колебаний произвел реформу календаря в странах с католическим вероисповеданием. В том году было опущено 10 дней, а именно, пятницу 5 октября стали считать пятницей 15 октября. Более того, для корректирования календаря были введены следующие григорианские правила для високосных лет.
Годы столетий
1700, 1800, 1900, 2100, 2200, 2300…,
в которых количество столетий не делится на 4, не считаются високосными годами. Оставшиеся годы столетий
1600, 2000, 2400…
продолжают считаться високосными годами. Получается очень хорошее приближение к правильной длине года, однако капельку длиннее. Было предложено не считать годы 4000, 8000… високосными вопреки григорианскому правилу; но так как этот вопрос еще открыт и не имеет отношения к ближайшему будущему, то мы не будем это принимать в нашей формуле.
Предположим теперь, что нам задана дата: d-й день в m-м месяце (где m определяется так, как было указано выше), в году, равном
N = c • 100 + Y, (8.2.1)
где с—количество столетий, а 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 марта этого года через d>1600. Можно было бы узнать номер этого дня из архивных документов, но можно обойтись и без этого, а получить его, как результат рассуждений.
Если бы не было високосных лет, то мы могли бы найти d>N — номер дня недели 1 марта N-то года, просто добавляя по одному дню к d>1600 для каждого из прошедших лет. Это дает число
d>1600 + (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 года в виде выражения
d>N ≡ d>1600 + 124с + Y — 1988 + [1/4