意思是:如果有一个素数 nnn ,任取 1≤a<n1 \leq a < n1≤a<n ,将 n−1n - 1n−1 分解为 n−1=d×2rn - 1 = d \times 2^rn−1=d×2r ,其中 ddd 为奇数, 则有如下两条性质至少有一条满足:
当任取 1≤a<n1 \leq a < n1≤a<n ,可能出现以下情况:
若一条都不成立,则说明这个数不是素数,若至少成立一条,则说明这个数有可能是素数.
所以算法流程为:找 kkk 个数,全部进行素性测试,若都能通过,则认为这个数是素数,若有任意一个数不通过,则这个数不是素数.
不妨设 m1≥m2m_1 \geq m_2m1 ≥m2 
这个方法不正统,不过事实上不怎么会被卡.
则 x=k1m1+b1=k2m2+b2x = k_1m_1 + b_1 = k_2m_2 + b_2x=k1 m1 +b1 =k2 m2 +b2 
且根据裴蜀定理,当同余方程有解时 rrr 一定为整数.