From fc7ebb3b0c5172f89ba40d080de190267a4775fd Mon Sep 17 00:00:00 2001 From: Oleksandr Kulkov Date: Tue, 14 May 2024 19:13:10 +0200 Subject: [PATCH] Do not accept 0 as primitive root modulo p --- math/primitive_root/checker.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/math/primitive_root/checker.cpp b/math/primitive_root/checker.cpp index fe68f0d53..7f224a998 100644 --- a/math/primitive_root/checker.cpp +++ b/math/primitive_root/checker.cpp @@ -197,7 +197,7 @@ bool check_primitive_root(ll p, ll r) { for (auto &&[q, k]: factor(p - 1)) { if (mod_pow_long(r, (p - 1) / q, p) == 1) return false; } - return true; + return r != 0; } int main(int argc, char *argv[]) {