We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent f0fcae7 commit 089726aCopy full SHA for 089726a
library/math/mod_int.hpp
@@ -8,12 +8,5 @@ struct mint {
8
mint operator+(mint b) { return x - mod + b.x; }
9
mint operator-(mint b) { return x - b.x; }
10
mint operator*(mint b) { return ll(x) * b.x % mod; }
11
- mint operator/(mint b) {
12
- int m = mod, u = 1, v = 0;
13
- while (m)
14
- u = exchange(v, u - b.x / m * v),
15
- b.x = exchange(m, b.x % m);
16
- assert(b.x == 1);
17
- return *this * u;
18
- }
+#include "mod_int_division.hpp"
19
};
library/math/mod_int_division.hpp
@@ -0,0 +1,9 @@
1
+#pragma once
2
+mint operator/(mint b) {
3
+ int m = mod, u = 1, v = 0;
4
+ while (m)
5
+ u = exchange(v, u - b.x / m * v),
6
+ b.x = exchange(m, b.x % m);
7
+ assert(b.x == 1);
+ return *this * u;
+}
0 commit comments