Update numtheory.cpp
This commit is contained in:
parent
345ad1ac38
commit
3014121f4d
1 changed files with 7 additions and 7 deletions
|
@ -1,19 +1,19 @@
|
|||
constexpr ll MOD = 1e9+7;
|
||||
|
||||
int fact[200002] = { 1 }, ifact[200002] = { 1 };
|
||||
ll fact[200002] = { 1 }, ifact[200002] = { 1 };
|
||||
|
||||
int pw(int base, int exp) {
|
||||
int res = 1;
|
||||
ll pw(ll base, ll exp) {
|
||||
ll res = 1;
|
||||
while (exp) {
|
||||
if (exp & 1) res = (ll)base * res % MOD;
|
||||
exp >>= 1, base = (ll)base * base % MOD;
|
||||
if (exp & 1) (res *= base) %= MOD;
|
||||
exp >>= 1, (base *= base) %= MOD;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
int inv(int x) { return pw(x, MOD - 2); }
|
||||
ll inv(ll x) { return pw(x, MOD - 2); }
|
||||
|
||||
int nCr(int n, int k) { return (ll)fact[n] * ifact[k] % MOD * ifact[n - k] % MOD; }
|
||||
ll nCr(int n, int k) { return fact[n] * ifact[k] % MOD * ifact[n - k] % MOD; }
|
||||
|
||||
for (int i = 0; i < N; ++i) {
|
||||
fact[i + 1] = (i + 1ll) * fact[i] % MOD;
|
||||
|
|
Loading…
Reference in a new issue