Китайская теорема об остатках — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Китайская теорема об остатках)
м (rollbackEdits.php mass rollback)
 
(не показано 5 промежуточных версий 3 участников)
Строка 2: Строка 2:
 
{{Теорема
 
{{Теорема
 
|id=thChinese
 
|id=thChinese
|author=Сун-Цзы
+
|author=Сун Цзы
 
|about=О попарно взаимно простых числах
 
|about=О попарно взаимно простых числах
 
|statement=
 
|statement=
Пусть <tex> n = n_1 n_2 \ldots n_k </tex>, где <tex> n_i </tex> - попарно взаимно простые числа. Рассмотрим соответствие <tex> a \rightarrow (a_1 , a_2 , \ldots , a_k) </tex>, где <tex> a_i = a(mod \text{ }n)</tex>. Такое соответствие является однозначным, для любого '''а''' (<tex> 0 \le a \le n </tex>).
+
Пусть <tex> n = n_1 n_2 \ldots n_k </tex>, где <tex> n_i </tex> {{---}} попарно взаимно простые числа. Рассмотрим соответствие <tex> a \rightarrow (a_1 , a_2 , \ldots , a_k) </tex>, где <tex> a_i = a \mod n_i</tex>. Такое соответствие является однозначным, для любого <tex>a</tex> (<tex> 0 \le a \le n </tex>).
 
|proof=
 
|proof=
 
Неконструктивное доказательство : <br>
 
Неконструктивное доказательство : <br>
 
<tex> x-y \rightarrow (0 , 0 , \ldots , 0) \Leftrightarrow (x-y) \vdots m_i </tex>, значит <tex> x \equiv y(mod \text{ } \prod n_i )</tex>. То есть разных наборов всего n. <br>
 
<tex> x-y \rightarrow (0 , 0 , \ldots , 0) \Leftrightarrow (x-y) \vdots m_i </tex>, значит <tex> x \equiv y(mod \text{ } \prod n_i )</tex>. То есть разных наборов всего n. <br>
 
Конструктивное доказательство: <br>
 
Конструктивное доказательство: <br>
Необходимо вычислить элемент <tex> a </tex> по заданным <tex> (a_1 , a_2 , \ldots , a_k) </tex>. Сначала определим величины <tex> m_i = \frac{n}{n_i}</tex>. Другими словами, <tex> m_i</tex> {{---}} произведение всех значений <tex> n_j</tex>, отличных от <tex> n_i</tex>. Затем определим <tex> c_i = m_i({m_i}^{-1} mod \text{ }n_i) </tex>.
+
Необходимо вычислить элемент <tex> a </tex> по заданным <tex> (a_1 , a_2 , \ldots , a_k) </tex>. Сначала определим величины <tex> m_i = \frac{n}{n_i}</tex>. Другими словами, <tex> m_i</tex> {{---}} произведение всех значений <tex> n_j</tex>, отличных от <tex> n_i</tex>. Затем определим <tex> c_i = m_i({m_i}^{-1} mod \text{ }n_i) </tex>. Величину <tex> a </tex> можно вычислить по формуле <tex> a \equiv (a_1c_1 + a_2c_2 + \ldots + a_kc_k)(mod \text{ } n)</tex>. Осталось показать, что это уравнение обеспечивает справедливость соотношения <tex> a \equiv a_i(mod \text{ }n_i) </tex>. Заметим, что если <tex> i \ne j</tex>, то <tex> m_j \equiv 0(mod \text{ }n_i)</tex>, откуда следует, что <tex> c_j \equiv m_j \equiv 0(mod \text{ }n_i) </tex>. Таким образом <tex> a \equiv a_ic_i(mod \text{ }n_i)</tex>.
 
}}
 
}}

Текущая версия на 19:25, 4 сентября 2022

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

Теорема (Сун Цзы, О попарно взаимно простых числах):
Пусть [math] n = n_1 n_2 \ldots n_k [/math], где [math] n_i [/math] — попарно взаимно простые числа. Рассмотрим соответствие [math] a \rightarrow (a_1 , a_2 , \ldots , a_k) [/math], где [math] a_i = a \mod n_i[/math]. Такое соответствие является однозначным, для любого [math]a[/math] ([math] 0 \le a \le n [/math]).
Доказательство:
[math]\triangleright[/math]

Неконструктивное доказательство :
[math] x-y \rightarrow (0 , 0 , \ldots , 0) \Leftrightarrow (x-y) \vdots m_i [/math], значит [math] x \equiv y(mod \text{ } \prod n_i )[/math]. То есть разных наборов всего n.
Конструктивное доказательство:

Необходимо вычислить элемент [math] a [/math] по заданным [math] (a_1 , a_2 , \ldots , a_k) [/math]. Сначала определим величины [math] m_i = \frac{n}{n_i}[/math]. Другими словами, [math] m_i[/math] — произведение всех значений [math] n_j[/math], отличных от [math] n_i[/math]. Затем определим [math] c_i = m_i({m_i}^{-1} mod \text{ }n_i) [/math]. Величину [math] a [/math] можно вычислить по формуле [math] a \equiv (a_1c_1 + a_2c_2 + \ldots + a_kc_k)(mod \text{ } n)[/math]. Осталось показать, что это уравнение обеспечивает справедливость соотношения [math] a \equiv a_i(mod \text{ }n_i) [/math]. Заметим, что если [math] i \ne j[/math], то [math] m_j \equiv 0(mod \text{ }n_i)[/math], откуда следует, что [math] c_j \equiv m_j \equiv 0(mod \text{ }n_i) [/math]. Таким образом [math] a \equiv a_ic_i(mod \text{ }n_i)[/math].
[math]\triangleleft[/math]