1
b\frac
b1 mod p,這種是無法求模的,數學家就引入了逆元。
逆元:用在模p意義下的整數代替在模p意義下的分數。
公式:a * b=1
我們就可以說b是a的逆元,也可以說a是b的逆元。逆元==倒數。
∵ a * 1
a\frac
a1 = 1
∵ a * b = 1
∴ b == 1
a\frac
a1性質:a的逆元(倒數)具有唯一性
公式:a * b ≡
\equiv
≡ 1(mod p)
我們可以說b是a的逆元,也可以說a是b的逆元。逆元!=倒數。
舉例: a=5 \\ p=7 \end \right.
3, & \text \\ 3 +7, & \text \\ 3 + (7*2+1), & \text \\ 3+(7*k+1),& \text \end
f(b)=⎩
⎪⎪⎪⎨
⎪⎪⎪⎧
3,3
+7,3
+(7∗
2+1)
,3+(
7∗k+
1),
if k
is 0
if k
is 1
if k
is 2
if k
>=3
在模p的意義下,b為a的 「逆元」 有很多個,但是 b mod p只有乙個,上述情況就只有3,也就是合法b的最小正整數。
你會發現:在模p的意義下,b用整數代替了分數。b用3代替了 1
5\frac
51。
是不是有點感覺了,我們再舉例一下:
公式:1
5\frac
51 mod 7 * 5 mod 7=1
3 mod 7 * 5 mod 7=3 * 5 mod 7=15 mod 7 = 1
公式:6
5\frac
56 mod 7 * 5 mod 7 = 6
6 * 3 mod 7 * 5 mod 7 = 18 mod 7 * 5 mod 7=4 * 5 mod 7 =20 mod 7=6
a * b \equiv 1(mod \; p) (1) \end \right.
\frac \equiv m(mod \; p)\\ \frac * a \equiv a * m(mod \; p)\\ y \equiv a * m(mod \; p)\\ y * b \equiv a * b * m(mod \; p)\\ 引用(1): y * b \equiv m(mod \; p)\\ \end \right.
⎩⎪⎪⎪⎪⎨
⎪⎪⎪⎪
⎧ay
≡m(
modp
)ay
∗a≡a
∗m(m
odp)
y≡a∗
m(mo
dp)y
∗b≡a
∗b∗m
(mod
p)引用
(1):
y∗b≡
m(mo
dp)
費馬小定理: ap−
1≡1(
modp
)\ a} \equiv 1(mod \;p)
ap−1≡1
(mod
p) ap−
1≡1(
modp
)⟹a∗
ap−2
≡1(m
odp)
\ a} \equiv 1(mod \;p)\longrightarrow a * a} \equiv 1(mod \;p)
ap−1≡1
(mod
p)⟹a
∗ap−
2≡1(
modp
)在模p的意義下,ap−
2\ a}
ap−2
就是a的逆元
乘法逆元 線性求mod p的所有數逆元
逆元存在的 求單個逆元,一般用快速冪或者擴充套件歐幾里得演算法,複雜度為log p 若是遞推求解所有逆元,複雜度為線性。前幾天在看 lucas 定理的時候發現要求 1,2 p 1modp 1,2,p 1modp 的逆元,然後就看到了乙個 n n 的做法發現太神了,雖然想起來是挺簡單的 這個做法實際上...
數字2的乘法逆元
數字2的乘法逆元 快捷計算方式如下 inv2 mod mod 2 推導如下 摘自奇質數是既是奇數又是質數的數 2是唯一的偶質數,簡而言之,以下推導對p 2不適用,其它質數都適用。對上式的補充說明 k m i m m i i t i m i i t i k m i i m i m i i m m i ...
數論 關於乘法逆元的證明
首先我們需要知道a p 1modp 那麼為什我們要用乘法逆元呢?答 在ab p 的時候如果 a 太大的話,long long也無法承受,所以我們轉換成另一種方式 a k p來替換那麼我們就可以將分子的大小限制在 p 以內,那麼就不會發生這樣的情況,所以我們令k為 b 的乘法逆元,那麼我們該如何求呢?...