用途
给出三个整数 a , b , p a,b,p a,b,p
求最小的自然数 x x x,使得 a x ≡ b ( m o d p ) a^x \equiv b (mod \ p) ax≡b(mod p)
特殊情况:若 b = 1 b=1 b=1,则 x = 0 x = 0 x=0
BSGS
由费马小定理可知
a p − 1 ≡ 1 ( m o d p ) a^{p-1}\equiv 1(mod \ p) ap−1≡1(mod p)
所以只用考虑0~p-1的取值
设 k = p k=\sqrt{p} k=p