模算术 modular arithmetic

Posted bitren豪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模算术 modular arithmetic相关的知识,希望对你有一定的参考价值。

https://en.wikipedia.org/wiki/Modular_arithmetic#Integers_modulo_n

模算术: 整数达到特定值时会‘ 折返 ’ 回来—— 模数 modulus(moduli)

例如: 时钟 modulo 12. 且根据定义, 12 不仅和12一致,还和0一致。

模 n 就是除数为 n 的意思。

 

1. 定义同余关系

  如果  a-b=kn   那么说 a,b 是模n同余。n为正整数,k为整数。

  a≡b (mod n) 

  n为同余的模数。

  同余关系写为: a=kn+b

  a=pn+r

  b=qn+r

  r 为共同余数。0<=r<n

  如 -8 ≡ 7 (mod 5)    2 ≡ -3 (mod 5)  -3 ≡ -8 (mod 5)   商可以为负数,余数一定要为 正

  性质1: primitive root modulo n  原根模n: 如果对于与 n互质的每一个整数 a, 都存在整数 k 使得 gk≡a (mod n) , 则 g 为原根。

 

    n 拥有 g 当且仅当 n=2, 4, pk,2pk


 

2. 同余类 classes

  \' 同余模n\' 是一个等价关系,整数 a 的等价类为一个集合:  $ \\overline{\\mathit{a}}_{n}=\\left \\{ \\cdots , a-2n,a-n,a,a+n,a+2n,\\cdots  \\right \\}$

  这个集合就是 a,n 的等价类,或残余类。


 

3. 残余系统

  整数集合 $ \\left \\{ 0,1,2, \\cdots , n-1  \\right \\} $   被称为 模n的最小残余系统

  对于 n 个整数的集合,如果其中没有2个同余模 n ,那么被称为 模n的完全残余系统

  例子:

    取定 n=4, 那么 ‘ 同余类 ’ 可以为:

    (1)  a=1, set={ -3 ,1, 5,9,13,…}  ,余数为 1

    (2) a=2, set={-2, 2, 6, 10, 14, }, 余数为 2

    (3) a=3, set={ -1, 3 , 7, 11, 15}, 余数为 3

    (4) a=4, set={0, 4 , 8, 12, 16}, 余数为 0

    从上面4个式子中各取一个元素出来,就组合成了 ‘’ 完全残余系统‘ ; ‘其中,’ 最小残余系统‘’  为{1,2,3,4}


 

4. 约化残余系统 RRS

  欧拉函数 φ: 输入为整数 n, 输出为小于n 且与n互质的正整数个数。

  RRS 中的元素为 φ(n) 个,它们与 n 互质,且彼此不同余!如 n=4 时, {5,15} 为 RRS


 

5. 整数模 n  integers modulo n

  所有 ‘ 同余类’ 的集合称为 ‘ 整数模n的环’; 也就是说, Z/nZ 里的元素还是集合,如3中的(1) (2) (3) (4) , 共有n个

  我们可以在这个上定义加法,减法和乘法:

  

  这些 集合 与 集合 的运算显然是成立的。

  例如,环 Z/24Z 中     因为33除以24,余数为9

  

  当且仅当 n 为质数时, 这个环是个有限域。 

以上是关于模算术 modular arithmetic的主要内容,如果未能解决你的问题,请参考以下文章

基础算法优化——Fast Modular Multiplication

同余与模算术

同余 模算术 中国剩余定理

codeforce303C-Minimum Modular-剪纸,暴力

同余与模算术

同余与模算术