Квант

36

КАКОЙ ДЕНЬ
НЕДЕЛИ?

Читатель, конечно, знает день своего рождения: год, месяц и число. А день недели? Может быть, это была среда, а может быть, суббота или понедельник? Как ответить на этот вопрос, не прибегая к помощи старых календарей, расссказывает в этой статье.

Давайте занутерем дни

Для этого просто присвоим какому-нибудь дня № 1, а дальней будем numerовать дни по порядку: № 2, № 3 и т. д. Какой именно день взят за первый, все равно, пуст его, например, будет

1 января 1-го года.
Тогда 2 января 1-го года получит № 2, 3 января 1-го года — № 3 и т. д., 31 января 1-го года становится № 31, 1 февраля — днем № 32, 1 марта — днем № 60 (в февраля 1-го года было 28 дней, потому что год не високоный). Всего в 1-м году было 365 дней, так что 1 января 2-го года будет днем № 366, 1 января 3-го года — днем № 731, 1 января 4-го года — днем № 1096, а 1 января 5-го года — днем № 1462 (4-й год содержал 366 дней). Таким образом, каждый день получит свой номер.

Как узнать день недели, зная номер дня?

Например, какой день недели придется на миллионный день? Ответить на этот вопрос мы пока что не можем. Но если мы знали день недели, соответствующий дню с каким-нибудь номером, то мы смогли бы определить день недели, отвечающий дню с любым другим номером. Возьмем, ска-

Воспону статьи положены материалы, приспланные в редакцию доктором физико-математических наук Н. М. Вескиным, и глава из книги O. Оре «Приглашение в теорию чисел» (M.: Наука, Библиотека «Квант», 1980).

37

Жем, день № 100 000. Между ним и миллионным днем должно пройти 1 000 000—100 000=900 000 дней. Поделим 900 000 на 7 с остатком: 900 000=128 571·7+3, т. е. между рассматриваемыми днями должно пройти целое число недель и еще три дня. Число недель для нас совершено не важно, значение имеет только эти три дня. В частности, если 100 000-й день был попедельник, то 1 000 000-й день — четверг, если 100 000-й день — вторник, то 1 000 000-й день — пятница и т. д.

Тепер программа действия ясна. Сначала определяем номер каждого дня, для которого день неделли нам известен. Эту работу можно проделать раз и навсегда. Затем мы определяем номер интересующего нас дня. Сравнивая два полученных номера, мы определяем день неделли, отвечаюший второй.date — как объяснялось выше.

Как найти номер дня?

Пусть нас интересует

k-й день m-го месяца N-го года.

Годы, как известно, былиют високосные и невисокосные. Невисокосные годы содержат 365 дней, невисокосные — 366 дней. Невисокосными являются, во-первых, годы, номера которых не делятся на 4, и, во-вторых, годы, номера которых делятся на 100, но не делятся на 400. (Таким образом, 2000-й год будет високосным, но 1900-й год не был високосным, в отличие, скажем, от 1904-го года. Эта оговорка отличает «григорианский календарь», или «новый стиль», от «юлианского календаря», или «старого стиля». Подробнее о старом и новом стилях мы поговорим ниже.)

Вернемся к рассматриваемому дню. После дня № 1, т. е. 1 января 1-го года, прошло N-1 лет, m-1 месяц и k-1 день. Пусть средние N-1 лет было N₁ високосных и N₂ невисокосных. Потом мы подумаем, чему равны N₁ и N₂, а пока запишем, что эти годы содержат 366N₁+365N₂ дней. Числа дней в 1-м, …,

12-м месяц мы обозначим через a₁, …, a₁₂. Таким образом, a₁=a₃=a₅=a₇=a₈=a₁₀=a₁₂=31, a₄=a₆=a₉=a₁₁=30, а a₂=29 или 28, в зависимости от того, високосный или невисокосный N-й год. Итак, номер нашего дня равен

366N₁+365N₂+a₁+…+aₙ-1+k.

Тепер найдем N₁ и N₂. Представим N-1 в виде 100P+R, где 0≤R≤99 (если N-1 — четЫрезначное число, как это на практике обещано былоет, то P и R — двумячные числа, записываемые perвыми двумя и последними двумя цифрами числа N-1). Далее, поделим P и R на 4 с остатком: P=4p+q, R=4r+s (0≤q≤3, 0≤s≤3). Нашему году предшествовал P полных столей. В каждом 99 лет, номера которых не делятся на 100, из них 24 года високосных и 75 лет невисокосных. Из P лет с номерами, делящимися на 100, високосных было p, а невисокосных P−p=3p+q. Наконец, из R последних лет было r високосных и R−r=3r+s невисокосных. Итак,

N₁=24P+p+r=97p+24q+r,
N₂=75P+3p+q+3r+s=303p+
+76q+3r+s.

Okончательная формула для номера нашего дня такова:

366(97p+24q+r)+365(303p+76q+
+3r+s)+a₁+…+aₙ-1+k=
=146 097p+36 524q+1461r+365s+
+a₁+…+aₙ-1+k.

38

Например, пусть интересующая насdata
1 марта 1989 года.
Для этого дня P=19,R=88,p=4,q=3,r=22,s=0,m=3,a1=31,a2=28,k=1P=19, R=88, p=4, q=3, r=22, s=0, m=3, a_1=31, a_2=28, k=1, и его номер равен 726 162.

Нам нужен только остаток от деления на 7

Номер дня интересует нас лишь с точностью до любого числа, делящейся на 7 (ибо день нас интересует лишь с точностью до целого числа недель). Поэтому уместно заметить, что 146 097=20 871·7 делится на 7, так что первое слагаемое в нашей сумме можно просто отбросить. Далее, 36 524=5217·7+5, так что вместе коэффициента 36 524 можно взять 5; точно так же вместе 1461 и 365 можно взять 5 и 1. Наша огромная сумма превращится в
5(q+r)+s+a1+⋯+am−1+k,5(q+r)+s+a_1+\dots+a_{m-1}+k,
к тому же и для a1,…,a12a_1,\dots,a_{12} значения 28, 29, 30, 31 можно безболезенно заменить их остатками от деления на 7, т. е. значениями 0, 1, 2, 3 соответственно. Тогда для 1 марта 1989 года наш номер заменится числом
5(3+22)+0+3+0+1=129,5(3+22)+0+3+0+1=129,
которое завершимо имеет такой же остаток от деления на 7, как номер нашей дня (действительно, проверка показывает, что у общих чисел этот остаток равен 3). Кстати, наиболее трудоемкая часть последнего вычисления — это нахождение суммы a1+⋯+am−1a_1+\dots+a_{m-1} или, вернее, остатка от деления этой суммы на 7. Этот остаток зависит от mm и от того, является ли год високоным. Имеет смысл вычислять его раз и насегда и записьть результат в таблице 1.

Например, сумма, отвечающая августа високосного года, есть 31+29+31+30+31+30+31, ее остatok от деления на 7 совпадет с остатком числа 3+1+3+2+3+2+3=17, т. е. равен 3; это и записано в таблице 1.

Тепер посмотрит в календарь и убедитесь, что 1 марта 1989 года — среда. Выше мы обнаружили, что остatok от деления номера этого дня на 7 равен 3. Значит, если остatok от деления номера дня на 7 равен 3, то день — среда. Соответствие, если остatok равен 4, 5, 6, 0, …, то день — четверг, пятница, суббота, воскресенье, … . Как видим, нам немного повезло: остatok от деления получившегося числа на 7 просто равен номеру дня недели:

1 — понедельник 4 — четверг
2 — вторник 5 — пятница
3 — среда 6 — суббота
0 — воскресенье.

(Везение состоит в том, что научд взятый нами первый день — 1 января 1-го года — оказался попедельником. Если бы не это, нам пришлось бы в окончательную формулу кровотную поправку.) Тепер мы можем написать окончательную формулу.

Формула
Рассмотрим

k−йденьm−гомесяцаN−гогода.k-й день m-го месяца N-го года.
Обозначим через RR двумя значениями число, составленное из двух последних цифр числа N−1N-1, и через PP — число, составленное из остальных цифр числа N−1N-1. Далее, подelim числа PP и RR с остатком на 4: P=4p+q,R=4r+sP=4p+q, R=4r+s. Затем найдем число

D=5(q+r)+s+b+k,D=5(q+r)+s+b+k,

Таблица 1

39

где bb зависит от места и «високосности» NN-го года и находится из таблицы 1. Остаток от деления числа DD на 7 — это и есть номер дня недели.

Пример. Великая Отечественная война началась 22 июня 1941 года. Какой это был день недели? Вычислляем: P=19=4⋅4+3P=19=4\cdot 4+3, R=40=4⋅10+0R=40=4\cdot 10+0, b=4b=4 (ионь невисокосного года),

D=5(3+10)+0+4+22=91,D=5(3+10)+0+4+22=91,

остаток от деления числа DD на 7 равен 0. Значит, это было воскресенье.

Старый стиль и новый стиль

Способ определения високосности года, изложенный на с. 37, введен в употребление в XVI веке; до этого високосными считались все годы, номера которых делятся на 4. Необходимость исправления была вызвана тем, что период обращения Земли вокруг Солнца фактически на несколько минут меньше 365 34\frac{3}{4} суток. Поэтому с течение времен Новый год приближался к весне, и если бы не нововведение, то уже к 12 000-му году он пришел бы на время цветения подснежников. В России новый стиль был введен только в января 1918 года. Поэтому многие исторические события принято назвать по старому стilio.

Различие между старым и новым стилями появляется благодаря тому, что в старом стиле есть даты, от-

Таблица 2

| Даты (по новому стilio, включительно) | Число дней, на которых новый стиль операжет старь |
| :— | :— |
| 13 марта 1900 г. — 13 марта 2100 г. | 13 |
| 12 марта 1800 г. — 12 марта 1900 г. | 12 |
| 11 марта 1700 г. — 11 марта 1800 г. | 11 |
| 10 марта 1500 г. — 10 марта 1700 г. | 10 |
| 9 марта 1400 г. — 9 марта 1500 г. | 9 |