模运算及其性质
忘了是不是原創(chuàng)了,誰發(fā)現(xiàn)了地址請(qǐng)告知。
本文以c++語言為載體,對(duì)基本的模運(yùn)算應(yīng)用進(jìn)行了分析和程序設(shè)計(jì),以理論和實(shí)際相結(jié)合的方法向大家介紹模運(yùn)算的基本應(yīng)用。。
基本理論
基本概念:
給定一個(gè)正整數(shù)p,任意一個(gè)整數(shù)n,一定存在等式 n = kp + r ;
其中k、r是整數(shù),且 0 ≤ r < p,稱呼k為n除以p的商,r為n除以p的余數(shù)。
對(duì)于正整數(shù)p和整數(shù)a,b,定義如下運(yùn)算:
取模運(yùn)算:a % p(或a mod p),表示a除以p的余數(shù)。
模p加法:(a + b) % p ,其結(jié)果是a+b算術(shù)和除以p的余數(shù),也就是說,(a+b) = kp +r,則(a + b) % p = r。
模p減法:(a-b) % p ,其結(jié)果是a-b算術(shù)差除以p的余數(shù)。
模p乘法:(a * b) % p,其結(jié)果是 a * b算術(shù)乘法除以p的余數(shù)。
說明:
1. 同余式:正整數(shù)a,b對(duì)p取模,它們的余數(shù)相同,記做 a ≡ b % p或者a ≡ b (mod p)。
2. n % p得到結(jié)果的正負(fù)由被除數(shù)n決定,與p無關(guān)。例如:7%4 = 3, -7%4 = -3, 7%-4 = 3, -7%-4 = -3。
基本性質(zhì)
(1)若p|(a-b),則a≡b (% p)。例如 11 ≡ 4 (% 7), 18 ≡ 4(% 7)
(2)(a % p)=(b % p)意味a≡b (% p)
(3)對(duì)稱性:a≡b (% p)等價(jià)于b≡a (% p)
(4)傳遞性:若a≡b (% p)且b≡c (% p) ,則a≡c (% p)
運(yùn)算規(guī)則
模運(yùn)算與基本四則運(yùn)算有些相似,但是除法例外。其規(guī)則如下:
(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)
結(jié)合率: ((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 * c) % p = ((a * c) % p + (b * c) % p) % p (9)
重要定理:若a≡b (% p),則對(duì)于任意的c,都有(a + c) ≡ (b + c) (%p);(10)
若a≡b (% p),則對(duì)于任意的c,都有(a * c) ≡ (b * c) (%p);(11)
若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); (12)
若a≡b (% p),則對(duì)于任意的c,都有ac≡ bc (%p); (13)
基本應(yīng)用
1.判別奇偶數(shù) 2.判別素?cái)?shù)3. 最大公約數(shù) 4.模冪運(yùn)算
總結(jié)
- 上一篇: 关于真随机数生成器
- 下一篇: 利用位运算的模四算法