取模運算
概念:模運算是指取模運算,即求\(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\).