
多阶乘(Many Factorials)
问题描述
给定 T 组测试数据。对每组,输入一个非负整数 N,输出 N!mod998244353。
约束条件
- 1≤T≤105
- 0≤N<998244353
输入格式
T
N1
N2
:
NT
输出格式
N1!mod998244353
N2!mod998244353
:
NT!mod998244353
提示:由于 T 可达 105,且 N<998244353,需预处理阶乘表至 maxN(但 maxN 可能接近 106 或更高)。实际中,因模数为质数 998244353,当 N≥998244353 时 N!≡0,但题目保证 N<998244353,故最大需预处理到 max(Ni)。为高效处理,可:
- 先读入所有 N,求 Nmax;
- 预处理 fac[0..Nmax];
- 再依次输出。
若 Nmax 较大(如 106),预处理可行;若 N 分布稀疏且最大值小,亦可动态计算。本题约束未限 N 上界除模数外,但 T≤105,建议按最大 N 预处理。
5
0
5
100
1234567
998244352
1
120
35305197
972177311
998244352