🚀 Начать

← к каталогу методов

D5 Китайская теорема об остатках

Раздел: D · Классы: 10, 11 · Сложность: 4/5

Рекомендуется для: ВсОШ заключ., Турнир городов

📖 Определение

Метод состоит в том, что систему сравнений с попарно взаимно простыми модулями заменяют одним сравнением по произведению этих модулей. Китайская теорема об остатках (КТО) гарантирует, что такая система всегда имеет единственное решение по модулю $M = m_1 m_2 \cdots m_k$.

Интуиция: представь, что тебе надо синхронизировать несколько независимых циферблатов с $m_1$, $m_2$, $m_3$ делениями. КТО говорит: ты всегда можешь настроить один большой циферблат с $M = m_1 m_2 m_3$ делениями так, чтобы он давал нужное показание на каждом малом. Это похоже на согласование расписаний: если автобусы ходят с периодом 3 часа и 5 часов, они встретятся через 15 часов — и зная, когда именно, можно рассчитать любое взаимодействие.

КТО используется в двух направлениях: (1) анализ — разбить сложное сравнение по модулю $M$ на несколько простых по его простым множителям; (2) синтез — из набора условий «$x$ даёт остаток $r_i$ при делении на $m_i$» восстановить $x$. В олимпиадах чаще встречается аналитическое применение: доказать существование числа с заданным набором делимостей.

📐 Главные теоремы и формулы

  • КТО (формулировка): пусть $m_1, m_2, \ldots, m_k$ попарно взаимно просты и $M = m_1 m_2 \cdots m_k$. Тогда для любого набора остатков $r_1, r_2, \ldots, r_k$ система$$x \equiv r_1 \pmod{m_1},\quad x \equiv r_2 \pmod{m_2},\quad \ldots,\quad x \equiv r_k \pmod{m_k}$$ имеет единственное решение по модулю $M$. Условие: модули попарно взаимно просты. Когда использовать: всегда, когда задача сводится к системе сравнений с такими модулями.

  • Формула явного решения: $x \equiv \sum_{i=1}^k r_i \cdot M_i \cdot (M_i^{-1} \bmod m_i) \pmod{M}$, где $M_i = M/m_i$. Когда использовать: при конструктивном нахождении числа по системе условий.

  • Изоморфизм колец: $\mathbb{Z}/M\mathbb{Z} \cong \mathbb{Z}/m_1\mathbb{Z} \times \cdots \times \mathbb{Z}/m_k\mathbb{Z}$. Когда использовать: при доказательстве теорем о существовании, когда нужно работать с каждой компонентой отдельно.

💡 Типичные техники

  • Разложение модуля на взаимно простые множители. Если $M = p_1^{a_1} \cdots p_k^{a_k}$, то сравнение по $M$ равносильно системе сравнений по $p_i^{a_i}$. Используй это для упрощения.

  • Конструкция числа с заданными делимостями. Надо найти $x$, кратное $a$, но не кратное $b$: записываешь $x \equiv 0 \pmod{a}$, $x \not\equiv 0 \pmod{b}$, применяешь КТО.

  • Доказательство существования через КТО. Хочешь показать, что существует простое в промежутке $[a,b]$ вида $4k+3$: систему сравнений задаёшь так, чтобы нужные условия выполнялись.

  • Нахождение периода комбинированного условия. Если явление повторяется с периодом $m_1$ и независимо с периодом $m_2$, совместное повторение имеет период $m_1 m_2$ (при $\gcd(m_1,m_2)=1$).

  • Проверка условия взаимной простоты. Перед применением КТО убедись, что модули попарно взаимно просты — это единственное существенное ограничение.

🎯 Когда применять (триггеры)

Поверхностные признаки (что буквально написано):
- «Докажите, что существует натуральное число, оканчивающееся на ... и делящееся на ...»
- «Найдите число, дающее остаток $r_1$ при делении на $m_1$ и остаток $r_2$ при делении на $m_2$»
- «Докажите, что таких чисел бесконечно много»

Структурные признаки (форма выражения, объекты):
- В задаче одновременно фигурируют несколько независимых условий делимости
- Модули взаимно просты (часто это простые числа или их степени)
- Задача о периодических последовательностях с несколькими периодами

Цель задачи (что от тебя хотят):
- Доказать существование числа (или бесконечно многих чисел) с заданными свойствами делимости
- Найти конкретное число, удовлетворяющее системе условий
- Описать все числа с данным набором остатков

✅ Разобранный пример

Задача 1. Найдите наименьшее натуральное число, которое при делении на 3 даёт остаток 2, при делении на 5 — остаток 3, при делении на 7 — остаток 2.

Источник: тренировочная (классический пример КТО)

Как думать (рассуждение ученика$):
1. $Что вижу?* Система из трёх условий на остатки. Модули $3, 5, 7$ попарно взаимно просты — это КТО!$2. *$Что делаю? Применяю формулу: $M = 3 \cdot 5 \cdot 7 = 105$. Вычислю $x$ по формуле КТО.$3. *$Конкретные шаги:* $M_1 = 35$, $M_2 = 21$, $M_3 = 15$. Нахожу обратные: $35^{-1} \bmod 3$: $35 \equiv 2 \pmod 3$, $2^{-1} \equiv 2 \pmod 3$. Аналогично остальные.

Решение:

Система: $x \equiv 2 \pmod{3}$, $x \equiv 3 \pmod{5}$, $x \equiv 2 \pmod{7}$. $M = 105$.

$M_1 = 35$: $35 \equiv 2 \pmod 3$, $2^{-1} \equiv 2 \pmod 3$. Вклад: $2 \cdot 35 \cdot 2 = 140$.$M_2 = 21$: $21 \equiv 1 \pmod 5$, $1^{-1} = 1$. Вклад: $3 \cdot 21 \cdot 1 = 63$.$M_3 = 15$: $15 \equiv 1 \pmod 7$, $1^{-1} = 1$. Вклад: $2 \cdot 15 \cdot 1 = 30$.

$x \equiv 140 + 63 + 30 = 233 \equiv 233 - 2 \cdot 105 = 23 \pmod{105}$.

Проверка: $23 = 3 \cdot 7 + 2$ ✓; $23 = 5 \cdot 4 + 3$ ✓; $23 = 7 \cdot 3 + 2$ ✓.

Ответ: $23$.

Что в этой задаче было главным: формула КТО работает механически — главное проверить условие взаимной простоты модулей и правильно найти обратные элементы.


Задача 2. Докажите, что среди любых $105$ последовательных натуральных чисел найдётся число, делящееся одновременно на $3$, на $5$ и на $7$.

Источник: тренировочная (иллюстрация КТО)

Как думать (рассуждение ученика$):
1. $Что вижу?* Среди $105 = 3 \cdot 5 \cdot 7$ последовательных чисел — это полный период по модулю $105$. Каждый класс вычетов по $\bmod 105$ встречается ровно один раз.$2. *$Что хочу найти? Число, кратное $3$, $5$ и $7$ одновременно, то есть кратное $105$. Это класс $x \equiv 0 \pmod{105}$.

Решение:

Среди $105$ последовательных натуральных чисел каждый из $105$ классов вычетов по модулю $105$ встречается ровно один раз. Класс $x \equiv 0 \pmod{105}$ представлен ровно одним числом. По КТО условия $x \equiv 0 \pmod{3}$, $x \equiv 0 \pmod{5}$, $x \equiv 0 \pmod{7}$ совместны и имеют решение $x \equiv 0 \pmod{105}$ — кратное $105$.

Ответ: такое число всегда есть, и оно единственно в рассматриваемой серии.

Что в этой задаче было главным: КТО гарантирует, что каждая комбинация остатков встречается в полном периоде ровно раз.

⚠️ Подводные камни

  • Ошибка: применять КТО к модулям, не являющимся попарно взаимно простыми (например, $m_1 = 6$, $m_2 = 4$). → Почему неверно: КТО в стандартной форме требует попарной взаимной простоты. → Как избежать: разложи каждый модуль на степени простых и работай с ними.

  • Ошибка: неправильно находить обратный элемент $M_i^{-1} \bmod m_i$. → Почему неверно: обратный существует только если $\gcd(M_i, m_i) = 1$, что гарантировано при правильном выборе. → Как избежать: всегда проверяй $M_i \bmod m_i \neq 0$ и находи обратный расширенным алгоритмом Евклида или перебором.

  • Ошибка: считать, что КТО работает при любых остатках, когда модули не взаимно просты. → Почему неверно: если $\gcd(m_1, m_2) = d > 1$, система $x \equiv r_1 \pmod{m_1}$, $x \equiv r_2 \pmod{m_2}$ имеет решение тогда и только тогда, когда $r_1 \equiv r_2 \pmod d$. → Как избежать: при несовместных модулях — проверяй условие совместности.

  • Ошибка: забыть взять решение по модулю $M$ в конце. → Почему неверно: решение единственно лишь по модулю $M$. → Как избежать: в конце всегда бери остаток от деления на $M$.

---
Ожидание... 1