There was an error while loading. Please reload this page.
1 parent de7d504 commit 84d18bfCopy full SHA for 84d18bf
Templates/nCr.cpp
@@ -0,0 +1,41 @@
1
+ll fact[500005];
2
+
3
+ll sum(ll x,ll y){
4
+ return (x%mod + y%mod)%mod;
5
+}
6
7
+ll mul(ll x,ll y){
8
+ return ((x%mod)*(y%mod))%mod;
9
10
11
12
+ll modInverse(ll a, ll m)
13
+{
14
+ ll m0 = m;
15
+ ll y = 0, x = 1;
16
17
+ if (m == 1)
18
+ return 0;
19
20
+ while (a > 1) {
21
+ ll q = a / m;
22
+ ll t = m;
23
+ m = a % m, a = t;
24
+ t = y;
25
+ y = (x - mul(q, y)+mod)%mod;
26
+ x = t;
27
+ }
28
29
+ if (x < 0)
30
+ x = sum(x,m0);
31
32
+ return x;
33
34
35
36
+ll ncr(ll n,ll r){
37
+ ll ans=(fact[n]);
38
+ ans=mul(ans,modInverse(fact[n-r],mod));
39
+ ans=mul(ans,modInverse(fact[r],mod));
40
+ return ans;
41
0 commit comments