Я знаю, что (A/B) по модулю М = аб^-1 по модулю MМодульная Инверсный с участием деление двух чисел
, а также, что, когда М простое, то Ь^-1 = Ь^(М-2)
Я должен вычислить (121/2) по модулю М, где М = 1000000007 (1e9 + 7)
Используя простое разделение: (121/2) МПМ = (60) по модулю М = 60% M =
Использование модуля r Inverse: (121/2) mod M = ((121 mod M) * (2^(M-2) mod M)) mod M.
2^(M-2) mod M здесь 500000004 (ссылка: http://www.cs.princeton.edu/~dsri/modular-inversion-answer.php?n=2&p=1000000007)
поэтому приведенное выше выражение становится (121 мод M * 500000004) по модулю М = 60500000484 мод M =
Что я, возможно, делают неправильно?
Я выполняю целочисленное деление, потому что именно так должно быть получено решение для проблемы, которую я решаю. Я должен вывести ответ по модулю М. Окончательный ответ имеет форму floor (A/2). Числитель формируется после нескольких этапов сложения и умножения, поэтому я принимаю mod M на каждом шаге с числителем. В конце у меня есть только A% M, а не фактический A – lassaendie
@lassaendie, можете ли вы связать проблему – svs
Я боюсь, что не могу, потому что я должен решить ее сам. Было бы мошенничать с моей стороны, чтобы загрузить его – lassaendie