具有模数余数的除法

时间:2014-04-16 04:39:52

标签: modulus number-theory modular-arithmetic

如何使用模数余数进行除法?

例如:在9 ^ 2012除以11时找到余数。

使用模运算,9 == 1(mod 4),所以9 ^ 2012 == 1 ^ 2012(mod 4)。因此,9 ^ 2012 == 1(mod 4)。此外,11 == 3(mod 4)。为了回答这个问题,我试图做1(mod 4)/ 3(mod 4)。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

有两个重要理论可以帮助您解决这个问题: -

  1. Modular Exponentiation
  2. 费马的小定理
  3. Modular Exponentiation: - 这个简单的递归公式让你明白: -

    (a^n)%p = ((a^(n-1))%p*a)%p
    

    上面的公式可以帮助您防止在^ n很大时发生的溢出。 此外,可以使用O(logn)

    进行快速指数

    费马的小定理: - 如果p为素数,则11为素数,然后(a^(p-1))%p = 1为任何与p共同素数的(a^n)%p = (a^(n%(p-1)))%p

    您的例子: -

    9^2012 % 11 = ?
    
    11 is prime and 9 is co-prime to 11 then using fermat's theorem
    
    9^2012 % 11 = (9^(2012%10)) % 11
    2012%10 = 2
    
    9^2012 % 11 = 9^2 % 11 = 4