Warning: session_start(): open(/tmp/sess_e4da3a24e6801911350c3a76823543cb, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103
===== 大阶乘模质数的幂学习笔记 ===== 以下参考了[[https://min-25.hatenablog.com/entry/2017/11/01/185400|这篇博客]]。 求 $n!\mod{p^{e}}$(包括 $p$ 的幂次和互质部分的模),其中 $p$ 为质数,可以在 $\mathcal{O}(pe+e\log_{p}n)$ 下完成(不考虑大整数部分的复杂度)。 定义 $f(m)=\prod_{i=1,\text{gcd}(i,m)=1}i$。那么有 $n!=f(n)\cdot p^{\lfloor\frac{n}{p}\rfloor}\cdot\lfloor\frac{n}{p}\rfloor!$,也就是说我们可以通过 $\log_{p}n$ 次 $f$ 的计算来得到答案。 设 $n=up+v(0\le v