Алгоритм вычисления даты католической Пасхи
Y-год.
G=+1 (G - золотое число в метоновом цикле);
C=+1 (если Y не кратен 100, то С - номер века);
X=-12] (поправка на то, что три из четырёх лет кратных 100 не високосны);
Z=-5] (синхронизация с лунной орбитой, год не кратен лунному месяцу);
D=-X-10 (в марте день ?D mod 7 будет воскресенье);
E = (основание или эпакта - указывает на день наступления полнолуния);
Если (E=24) или (E=25 И G>11) то увеличить E на 1;
N=44-E (N-е марта - день календарного полнолуния);
Если N < 21 то увеличить N на 30;
N=N+7-;
Если N > 31 то дата Пасхи (N-31) апреля иначе дата Пасхи N марта.
Я ввел данные так:
# Вычисляем дату католической пасхи Y = int(input('Введите год - ')) # G - золотое число в метоновом цикле G = (Y % 19) + 1 # если Y не кратен 100, то С - номер века C = (Y // 100) + 1 # поправка на то, что три из четырёх лет кратных 100 не високосны X = (3 * C//4) - 12 # синхронизация с лунной орбитой, год не кратен лунному # месяцу Z = ((8 * C +5) // 25) - 5 # в марте день ?D mod 7 будет воскресенье D = (5 * Y // 4) - X - 10 # основание или эпакта - указывает на день наступления # полнолуния E = ((11 * G + 20 + Z - X) % 30) # Если (E=24) или (E=25 И G>11) то увеличить E на 1 if E==24: E = ((11 * G + 20 + Z - X) % 30) + 1 if E==25 and G>11: E = ((11 * G + 20 + Z - X) % 30) + 1 # N-е марта - день календарного полнолуния N = 44 - E # N < 21 то увеличить N на 30 if N<21: N = (N + 7 - ((D + N) % 7)) + 30 if N>31: z1 = N - 31 print('В этом году Пасха будет праздноваться ', z1, 'апреля') else: z2 = N print('В этом году Пасха будет праздноваться ', z2, 'марта')
\nВы обезьяна,прощайте”)# если ввел не число