平常插曲

本博客是關於這個\(swj\)sb在考試中出現錯誤,用於自我檢討.數組

題目中有模數要使用除法

在有模數的狀況下不能夠直接使用除法,要使用逆元.
逆元有四種方式能夠求出,費馬小定理,擴展歐幾里得,遞推式,階乘求逆元.
設原數是\(a\),模數是\(p\),逆元是\(b\).spa

1.費馬小定理

\(b = a^{p-2}\),快速冪求得.博客

2.擴展歐幾里得

\(a \times b ≡ 1 (mod\;p)\)class

3.遞推式

(只用於模數\(p\)爲質數)
\(inv[i] = -\left \lfloor\frac{p}{i} \right \rfloor \times inv[p \% i] \% p\)擴展

4.階乘

\(fac\)是階乘數組,\(inv\)是逆元數組.
費馬小定理求出\(inv[n] = fac[n]^{p-2}\)
\(inv[i] = inv[i+1] \times (i + 1)\)im

相關文章
相關標籤/搜索