编辑
2025-08-30
XCPC
00
请注意,本文编写于 141 天前,最后修改于 141 天前,其中某些信息可能已经过时。

这里的 factinv 即为阶乘逆元。

#include <cstdio> const int maxn = 3000005; int n, p; int inv[maxn], factinv[maxn]; int main() { scanf("%d%d", &n, &p); factinv[1] = inv[1] = 1; printf("%d\n", 1); for (int i = 2; i <= n; ++i) { inv[i] = 1ll * (p - p / i) * inv[p % i] % p; printf("%d\n", inv[i]); factinv[i] = 1ll * factinv[i - 1] * inv[i] % p; } return 0; }
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay