取模运算
取模运算
概念:模运算是指取模运算,即求\(a\div b\)的余数。
取模运算与基本四则运算相似,但是除法运算除外,满足以下性质:
\((a + b)\) % \(p = ((a\) % \(p ) + ( b\) % \(p))\) % \(p\)
\((a - b)\) % \(p = ((a\) % \(p ) - ( b\) % \(p))\) % \(p\)
\((a * b)\) % \(p = ((a\) % \(p ) * ( b\) % \(p))\) % \(p\)
\((a^b)\) % \(p = ((a\) % \(p)^b)\) % \(p\)
取模满足0\(\le a\) % \(m\le m-1\),但在某些环境,a的是负数,则\(a\)%\(m\)的结果是负的,此时改写成\(a\)%\(m+m\)就可以保证结果在\(0\)~\(m-1\)之间。
特别注意:对于除法进行下面操作是错误的:\((a / b)\) % \(p = ((a\) % \(p ) / ( b\) % \(p))\) % \(p\) ,对于除法我们不能直接分别取模了,详见逆元。
例如:\((100/50)\)%\(20 = 2\) 而 \(((100\) % \(20 ) / ( 50\) % \(20))\) % \(20 = 0\).