Изменения рейтингов за последние раунды временно удалены. Скоро они будут возвращены. ×

Блог пользователя kingofnumbers

Автор kingofnumbers, 14 лет назад, По-английски

Hi, If i want to compute (1065*1001) mod 1000 , the best way to do this is computing (1065 modulo 1000) and (1001 modulo 1000) then Multiplying the two numbers so (1065 modulo 1000) = 65 and (1001 modulo 1000) = 1 then 65 * 1 = 65 so: (1065*1001) mod 1000 = 65 this way is much easier than computing 1065*1001 then modulo 1000

so my question is: is there a way resemble to the way above working with division like (6072/1012) mod 5 thanks.

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

There is a way when modulo is a prime number.

Using Fermat's little theorem we have:

a ^ p ≡ a (mod p), p is prime

=>

a ^ ( p — 2 ) ≡ 1 / a (mod p)

So we have ( a / b ) % m = ( a % m ) * ( ( 1 / b ) % m ) = ( a % m ) * ( ( b ^ ( m — 2 ) ) % m )