费马小定理


费马小定理p为素数,a是任意整数,且𝑎0(𝑚𝑜𝑑𝑝),则𝑎𝑝11(𝑚𝑜𝑑𝑝).证明先来说明一个引理引理p是素数,a是任何整数,且𝑎0(𝑚𝑜𝑑𝑝),则数列𝑎,2𝑎,3𝑎,,(𝑝1)𝑎(𝑚𝑜𝑑𝑝)于数列1,2,3,,(𝑝1)(𝑚𝑜𝑑𝑝)相同(忽略次序)。引理证明数列𝑎,2𝑎,3𝑎,,(𝑝1)𝑎,含有𝑝1 个数字。任取两个数𝑗𝑎𝑘𝑎,假设它们同余:𝑗𝑎𝑘𝑎(𝑚𝑜𝑑𝑝)𝑝|(𝑗𝑘)𝑎,又因为𝑎0(𝑚𝑜𝑑𝑝),所以𝑝|(𝑗𝑘)1𝑗,𝑘𝑝1,则 0|𝑗𝑘|𝑞2,仅有𝑗=𝑘时,𝑝|0所以,𝑎,2𝑎,3𝑎,,(𝑝1)𝑎p不同余。p-1个数模p不同余,这p-1个余数一定就是1,2,,𝑝1。得证。证明费马小定理引理中的两个数列连乘得:𝑎(2𝑎)(𝑝1)𝑎12(𝑝1)(𝑚𝑜𝑑𝑝)𝑎𝑝1(𝑝1)!(𝑝1)!(𝑚𝑜𝑑𝑝)又有(𝑝1)!𝑝互素,两边消掉得𝑎𝑝11(𝑚𝑜𝑑𝑝)得证。利用费马小定理简单判断一个数是不是质数a可以随便取,比如取2,只要计算出2𝑚1mod𝑚1,那就说明m不是质数。 比如𝑚=106+7时,2𝑚1mod𝑚=399097,所以1𝑒6+7不是质数。注意,若 2𝑚1mod𝑚=1m不一定是质数