Китайська теорема про залишки може бути дуже корисним в модульної арифметики.
Наприклад, розглянемо наступний набір конгруентних відносин:
Для таких наборів конгруентних відносин, як ця, де всі бази ( 3, 5, 7у цьому прикладі) є спільними простими один з одним, буде одне і лише одне ціле число nміж 1і добутком підстав ( 3*5*7 = 105у цьому прикладі) включно, що задовольняє відносини .
У цьому прикладі число буде 14генеровано за такою формулою:
де 2, 4, and 0наведено з наведеного вище прикладу.
70, 21, 15є коефіцієнти формули і вони залежать від підстав, 3, 5, 7.
Для обчислення коефіцієнтів формули ( 70, 21, 15у нашому прикладі) для набору основ ми використовуємо наступну процедуру.
Для кожного числа aв наборі баз:
- Знайдіть добуток усіх інших основ, позначених як
P. - Знайдіть перше кратне,
Pщо залишає залишок,1коли ділиться наa. Це коефіцієнтa.
Наприклад, для обчислення коефіцієнта, що відповідає базовій 3, ми знаходимо добуток усіх інших підстав (тобто 5*7 = 35), а потім знаходимо перше кратне цього продукту, яке залишає залишок, 1коли ділиться на основу.
У цьому випадку 35залишається залишок, 2коли ділиться на 3, але 35*2 = 70залишається залишок, 1коли ділиться на 3, таким 70є відповідний коефіцієнт для 3. Аналогічно 3*7 = 21залишає залишок, 1коли ділиться на, 5а 3*5 = 15залишок, 1коли ділиться на 7.
Коротко
Для кожного числа aв наборі чисел:
- Знайдіть добуток усіх інших чисел, позначених як
P. - Знайдіть перше кратне,
Pщо залишає залишок,1коли ділиться наa. Це коефіцієнтa.
Змагання
- Завдання полягає в тому, щоб знайти набір з двох або більше баз знайти набір відповідних коефіцієнтів.
- Набір підстав гарантується, що вони будуть паралельно суміщені, і кожна основа гарантується, що більша за 1.
- Ваш вхід - це перелік цілих чисел як вхідний
[3,4,5]чи розділений пробілом рядок,"3 4 5"але вхід працює. - Вихід повинен бути або списком цілих чисел, або розділеним пробілом рядком, що позначає набір коефіцієнтів.
Тестові справи
input output
[3,5,7] [70,21,15]
[2,3,5] [15,10,6]
[3,4,5] [40,45,36]
[3,4] [4,9]
[2,3,5,7] [105,70,126,120]
[40,27,11] [9801,7480,6480]
[100,27,31] [61101,49600,56700]
[16,27,25,49,11] [363825,2371600,2794176,5583600,529200]
Велика подяка Лікі монахині за допомогу в написанні цього виклику. Як завжди, якщо проблема неясна, будь ласка, повідомте мене про це. Успіхів і хорошого гольфу!





