Hiring process8 levels
  1. 1 IQ Test
  2. 2 Additional Online Test (If Required)
  3. 3 Office Interview with Hiring Manager
  4. 4 Unpaid Test Task (Motivation Check)
  5. 5 Paid Test Task and Follow-Up Interview
  6. 6 Iterative Paid Test Tasks
  7. 7 Office Verification
  8. 8 Final Interview with the Founder

Problems > Find a Primitive Root > Editorial

Find a Primitive Root — Solution & Editorial

Back to the Problem

g is a primitive root iff g(P−1)/q ≠ 1 for every prime q dividing P−1. Factor P−1 once, then test g = 2, 3, ... — roots are small and dense.

Complexity: O(factorize(P−1) + answer · log)