阶乘的逆元

 1 int fac[maxn], facinv[maxn];
 2 void getInv(int n) {
 3     fac[0] = 1;
 4     for (int i = 1; i <= n; ++ i) {
 5         fac[i] = (long long)fac[i - 1] * i % mod;
 6     }
 7     facinv[n] = fastPow(fac[n], mod - 2, mod);
 8     for (int i = n - 1; i > 0; -- i) {
 9         facinv[i] = (long long)facinv[i + 1] * (i + 1) % mod;
10     }
11 } 

 

posted @ 2017-01-25 15:54  Mr.9Pounds15Pence  阅读(650)  评论(0编辑  收藏  举报