Z_p 를 곱셈군으로 보면 p-1 order 짜리 cyclic group입니다

만약 Z_p 의 generator 를 하나라도 찾아내서 그걸 x라고 표시한다면


f(n)=x^n

f: (Z_p,+) → (Z_p-{0}, \dot)


위 f가 group isomorphism 이기 때문에 (Z_p,+) 의 generator 를 구해서 그 함숫값을 찾으면 모든 generator 를 다 찾을 수 있습니다.


제가 궁금한 것은 결국 어떻게 "첫번째" generator 를 찾을것이냐 하는 겁니다

결국 하나 찍어서 다 확인을 해봐야하는데 이게 너무 현타가 와서 좀 멋진 방법이 없을까 찾아보니 다음 방법이 있다고 합니다.


https://math.stackexchange.com/questions/431391/how-to-find-generator-in-a-finite-groupwhat-is-generator


p-1 을 소인수분해 할수만 있다면


2ab9c368f5dc3f8650bbd58b3680776caa

이렇게 나타내고, 아무거나 a를 하나 잡아서 a^(p-1)/f_i (mod p) 를 계산해보는데 (당연히) 그 중 하나라도 1과 mod p 합동이면 a는 generator 가 아니겠죠


그리고 반대로 만약 a^(p-1)/f_i (mod p) 가 "모두" 1이 아니면 a가 generator 가 된다고 하는데 이것의 증명이 궁금합니다


문제를 정리하면 1이상 p-1 이하 자연수 a, 그리고 p-1의 소인수분해 2ab9c368f5dc3f8650bbd58b3680776caa 대해

a^(p-1)/f_i (mod p) 가 모두 1이 아니라면 a^k ≡1 (mod p) 이도록 하는 0<k<p-1 가 존재하지 않는다.


라그랑지에 정리에 의해 거의 자명한 얘기일거같긴 한데 증명을 어떻게 써야될지 모르겠어요