Алгоритм Гаусса вычисления даты Пасхи
Алгоритм Гаусса вычисления даты Пасхи — математический алгоритм, предназначенный для определения дня празднования Пасхи в любом году. Предложен впервые немецким математиком Карлом Гауссом в 1800 году[1]. Сам Гаусс привёл формулы без вывода. Объяснение каждого шага алгоритма дал профессор Базельского университета Герман Кинкелин в 1870 году[2].
Алгоритм для вычисления даты Пасхи[править | править код]
Для определения даты Православной пасхи по старому стилю необходимо:
- Разделить номер года на 19 и определить остаток от деления a.
- Разделить номер года на 4 и определить остаток от деления b.
- Разделить номер года на 7 и определить остаток от деления c.
- Разделить сумму 19a + 15 на 30 и определить остаток d.
- Разделить сумму 2b + 4c + 6d + 6 на 7 и определить остаток e.
- Определить сумму f = d + e.
- (по старому стилю) Если f ≤ 9, то Пасха будет праздноваться 22 + f марта; если f > 9, то Пасха будет праздноваться f — 9 апреля.
- (по новому стилю в XX—XXI веках) Если f ≤ 26, то Пасха будет праздноваться 4 + f апреля; если f > 26, то Пасха будет праздноваться f — 26 мая.
Более сложный алгоритм расчёта Католической пасхи покажем на примере.
Пример на 1777 год (год рождения Карла Гаусса):
Выражение | год = 1777 |
---|---|
a = год mod 19 | a = 10 |
b = год mod 4 | b = 1 |
c = год mod 7 | c = 6 |
k = целая часть (год/100) | k = 17 |
p = целая часть ((13 + 8k)/25) | p = 5 |
q = целая часть (k/4) | q = 4 |
M = (15 − p + k − q) mod 30 | M = 23 |
N = (4 + k − q) mod 7 | N = 3 |
d = (19a + M) mod 30 | d = 3 |
e = (2b + 4c + 6d + N) mod 7 | e = 5 |
Дата Пасхи по новому стилю: 22 + d + e марта или d + e − 9 апреля | 30 марта |
Если d = 29 и e = 6, то вместо 26 апреля будет 19 апреля | |
Если d = 28, e = 6 и (11M + 11) mod 30 < 19, то вместо 25 апреля будет 18 апреля |
Важнейшие оговорки[править | править код]
- Данный алгоритм предназначен именно для расчёта Католической пасхи (то есть для пасхалии по григорианскому календарю). Для расчёта даты Православной пасхи по старому стилю (по юлианскому календарю) значения величин M и N принимаются: M=15 и N=6 независимо от века, а не вычисляются по приведённым формулам. Вычисление M и N для григорианской пасхалии необходимо из-за того, что в григорианском календаре года, кратные 100, не високосные, кроме тех, что кратны 400, в то время как в юлианском календаре все года, кратные четырем, — високосные без всяких исключений. Для перевода на новый стиль дату, вычисленную для Православной пасхи, нужно сдвинуть вперёд на 13 дней в 20-м и 21-м веках. Католическая пасха всегда заключается между 22 марта и 25 апреля нового стиля, а Православная — между 22 марта и 25 апреля старого стиля, то есть в 20-м и 21-м веках — с 4 апреля по 8 мая нового стиля.
- Формулы для расчёта Католической пасхи предусматривают два исключения: если d = 29 и e = 6, то Пасха переносится с 26 на 19 апреля[3]; если d = 28 и e = 6, то с 25 на 18 апреля[4]. Это условие было введено Гауссом в 1811 году.
- Значения величин M и N зависят от века, так что их можно рассчитать отдельно. Для 20-го и 21-го веков получаем: M=24, N=5. Для 19-го: M=23, N=4. Для 18-го века см. пример.
История создания алгоритма[править | править код]
В 1800 году Карл Фридрих Гаусс впервые представил алгоритм для вычисления Пасхи по старому и новому стилям[1]. Гаусс неоднократно корректировал алгоритм: так, в 1807 году из алгоритма было исключено условие (11M + 11) mod 30 < 19, вместо которого было выбрано более простое a > 10. В 1811 году он добавил условия по поводу переноса дат в апреле с 26 на 19 и с 25 на 18 число, указав, что этот алгоритм применим для вычисления дат в XVIII и XIX веках.
В 1816 году его студент Петер Пауль Титтель обнаружил ошибку в вычислении даты Пасхи в 1800 году: значение p = целая часть (k/3) было установлено некорректно. Гаусс исправил эту ошибку и отблагодарил студента за помощь[5].
См. также[править | править код]
Примечания[править | править код]
- ↑ 1 2 Gaus. Berechnung des Osterfestes // Monatliche Correspondenz. — 1800. — Т. 2. — С. 121—130. Архивировано 6 декабря 2016 года.
- ↑ Кинкелин, 1870.
- ↑ Этот случай произошёл в 1981 году.
- ↑ Этот случай произошёл в 1954 году.
- ↑ Reinhold Bien, «[1] Архивная копия от 1 марта 2021 на Wayback Machine» Archive for History of Exact Sciences 58/5 (July 2004) 439−452.
Литература[править | править код]
- Куликов С. Нить времён. Малая энциклопедия календаря с заметками на полях газет. — М.: Наука. Гл. ред. физ.-мат. лит., 1991. — 288 с. — 200 000 экз. — ISBN 5-02-014563-7.
- Алгоритм расчёта праздника Пасхи // Информатика. — 2009. — № 19.
- О старом и новом стиле («В мир информатики» № 114) // Информатика. — 2008. — № 20.
- Кинкелин Г. Вычисление христианской Пасхи // Математический сборник. — М., 1870. — Т. 5. — С. 73—92.