同余定理

Posted by Liao on 2019-09-28

定理

同余,顾名思义是相同的余数,如果a mod m == b mod m,则说m为同余的模.

也可这样理解:m|(a-b),即(a-b)是m的整数倍.

给定一个正整数m,如果两个整数a和b满足(a-b)能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b对模m同余,记作a≡b(mod m)

取模技巧

若a>0 && b>0,则a≡b(mod m) 相当于 a mod m == b mod m

若a < 0 && b >=0 ,则 a≡b(mod m) 相当于 (a%m+m) == b%m

如-17 mod 10 = -7+10 = 3

为了避免判断a是否为负数,等号左边可以写成(a%m+m)%m,这样无论a是否为负数,运算结果都会落在[0, m)中。