Skip to content

Commit b0ddce8

Browse files
committed
Fixed the bug of power of zero.
1 parent d21f30b commit b0ddce8

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

src/alfred/math/mod-int.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ class ModInt {
4646
if (n < 0) {
4747
n = (-n) % (M - 1) * (M - 2);
4848
}
49-
n %= (M - 1);
5049
while (n) {
5150
if (n & 1) res *= x;
5251
x *= x;

src/alfred/math/utils.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ inline T isqrt(T x) {
3131
return res;
3232
}
3333

34+
template <class T, class V>
35+
inline bool in_range(V v, T l, T r) {
36+
return l <= v && v <= r;
37+
}
38+
3439
// Given in integer n. Returns (primes, minp)
3540
std::pair<std::vector<int>, std::vector<int>> euler_sieve(int n) {
3641
std::vector<int> primes, minp(n + 1);

0 commit comments

Comments
 (0)