一.取模運算法則(百度百科)
定義
給定一個正整數p,任意一個整數n,一定存在等式 :n = kp + r ;
其中 k、r 是整數,且 0 ≤ r < p,則稱 k 爲 n 除以 p 的商,r 爲 n 除以 p 的餘數。
對於正整數 p 和整數 a,b,定義如下運算:
取模運算:a % p(或a mod p),表示a除以p的餘數。
模p加法: ,其結果是a+b算術和除以p的餘數。
模p減法: ,其結果是a-b算術差除以p的餘數。
模p乘法: ,其結果是 a * b算術乘法除以p的餘數。
說明:
1. 同餘式:正整數a,b對p取模,它們的餘數相同,記做 或者a ≡ b (mod p)。
2. n % p 得到結果的正負由被除數n決定,與p無關。例如:7%4 = 3, -7%4 = -3, 7%-4 = 3, -7%-4 = -3。
基本性質若p|(a-b),則a≡b (% p)。例如 11 ≡ 4 (% 7), 18 ≡ 4(% 7)
(a % p)=(b % p)意味a≡b (% p)
對稱性:a≡b (% p)等價於b≡a (% p)
傳遞性:若a≡b (% p)且b≡c (% p) ,則a≡c (% 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),(a / c) ≡ (b / d) (%p); (13)
二.異或運算法則(維基百科)
在數字邏輯中,邏輯算符互斥或閘(exclusive or)是對兩個運算元的一種邏輯分析類型,符號爲XOR或EOR或⊕。與一般的邏輯或OR不同,當兩兩數值相同爲否,而數值不同時爲真。
兩個運算元(命題):A與B的異或一般寫成A異或B,或者寫成、、等等。在C語言中,寫作A^B。
在數學和工程學中,常常用其他的邏輯運算符來表示異或算符。異或算符可以被其他邏輯算符表示爲:
另外,異或算符可以被推廣,得到關於n個運算元的異或運算:n個運算元的n維異或的值爲真當且僅當其中值爲真的運算元有奇數個。
異或也可以被表示爲:
異或還可以看作是邏輯等價關係的非運算。