modの逆数

mod素数の逆数

  • $10^{9} + 7, 998244353$は素数.
  • 素数$p$に対し,$X/ Y \pmod p=$(X * pow(Y, p - 2, p)) % p

【背景】
$p$を素数,$a$を$p$の倍数でない整数とすると

\begin{aligned}
a^{p-1} \equiv 1 \pmod p
\end{aligned}
が成り立つ(フェルマーの小定理).よって,
\begin{aligned}
a^{-1} \equiv a^{p-2}\pmod p
\end{aligned}
である.

pow(base, exp[, mod])で,pow(base, exp) % modが効率よく計算できる.あるいは「繰り返し二乗法」で高速に計算できる(繰り返し二乗法 - 競プロはじめました).

【例題】

参考