阶:满足 \(x^{k}\equiv 1(\text{mod}\ p)\) 的最小 \(k\)。
首先,若 \(x\not\perp p\),则无解。
令 \(f(k) = x^k\mod p\)
若有解,则由费马小定理知,\(k = p - 1\) 是 \(f(x) = 1\) 的一个解。
令其最小解为 \(k_0\)。
则,\(f\) 是周期函数且 \(k_0\) 是其最小正周期。
因为 \(f(k + k_0) = x^{k + k_0}\mod p = x^{k}\cdot x^{k_0}\mod p = x^k\mod p = f(k)\)。
我们易得,\(k_0 \mid (p - 1)\)。
因为假设 \(k_0\nmid(p - 1)\),令 \(p - 1 = k_0m + n,1\leq n\leq m - 1\)。
则
\[1 = x^{p - 1}\mod p = x^{k_0m + n}\mod p = (x^{k_0})^m \cdot x^n = x^n\mod p
\]
这与 \(k_0\) 是最小解矛盾。
所以成立。
因此,我们可以枚举 \(p - 1\) 的因数,来求阶。