mod運算,即求餘(取模)運算,是在整數運算中求一個整數 x 除以另一個整數y的餘數的運算,且不考慮運算的商數。在電腦程式設計上都有MOD運算,其格式為: mod(nExp1,nExp2),即是兩個數值運算式作除法運算後的餘數。
取模主要是用於電腦術語。取餘則較多是數學概念。模運算在數論和程式設計上都有廣泛的應用,從奇偶數的判別到質數的判別,從模冪運算到最大公約數的求法,從孫子問題到凱撒密碼問題,無不充斥著模運算的身影。 (推薦學習:PHP影片教學)
雖然很多數論教材上對模運算都有一定的介紹,但多數都是以純理論為主,對於模運算在程式設計中的應用涉及不多。
給定一個正整數p,任一個整數n,一定存在等式:
取模運算:a % p(或a mod p),表示a除以p的餘數。
運算規則
模運算與基本四則運算有些相似,但是除法例外。 其規則如下:
(a b) % p = (a % p b % p) % p (1)
(a - b) % p = (a % p - b % p) % p (2)
(a * b) % p = (a % p * b % p) % p (3)
a ^ b % p = ( (a % p)^b) % p (4)
結合律:
#((a b) % p c) % p = (a (b c) % p) % p (5 )
((a*b) % p * c)% p = (a * (b*c) % p) % p (6)
交換律:
(a b) % p = (b a) % p (7)
(a * b) % p = (b * a) % p (8)
分配律:
(a b) % p = ( a % p b % p ) % p (9)
((a b)% p * c) % p = ((a * c) % p ( b * c) % p) % p (10)
重要定理
若a≡b (% p),則對任意的c,都有(a c) ≡ (b c) (%p);(11)
若a≡b (% p),則對任意的c,都有(a * c) ≡ (b * c) (%p);(12)
若a≡b (% p),c≡d (% p),則(a c) ≡ (b d) (%p),(a - c) ≡ (b - d) (%p ),
(a * c) ≡ (b * d) (%p);(13)
更多PHP相關技術文章,請造訪PHP圖文教學欄位進行學習!
以上是mod運算規則的詳細內容。更多資訊請關注PHP中文網其他相關文章!