线性时间计算逆元
for (int i = 2; i <= n; i++) {inv[i] = MOD - (MOD / i * inv[MOD % i] % MOD) % MOD;}
线性时间计算阶乘逆元
//先计算出n!的逆元for (int i = n - 1; i >= 0; i--) {inv[i] = inv[i + 1] * (i + 1) % MOD;}
1-n的LCM
对于1-n中所有数的lcm,其应该等于1-n中每个质数p的以p为底数对于n的对数次幂的累积
$\ lcm = \prod p^{log_{p}{n}} $
log下取整