аватар question@mail.ru · 01.01.1970 03:00

Нахождение обратного элемента в кольце вычетов

Необходимо найти элемент B, обратный элементу A по модулю C.

Такой, что (A*B)%C = 1.

Как найти B в общем виде?

аватар answer@mail.ru · 01.01.1970 03:00

Смотрите.

Для начала, A и C должны быть взаимно просты. Если они не взаимно просты, то любая линейная комбинация (A * X) % C = A * X + C * Y не будет равна единице, то есть, ответа нет.

Окей, пускай числа A и C взаимно просты. Для установления этого вы должны использовать алгоритм Евклида для вычисления НОД. Если вы при этом воспользуетесь , вы получите не просто НОД, а и те коэффициенты alpha, beta, при которых

alpha * A + beta * C = НОД(A, C) = 1.

При этом alpha и есть ваш ответ, так как

(alpha * A) % C = (1 - beta * C) % C = 1.

Все остальные значения B получаются из данного прибавлением кратного числу C.

Последние

Похожие