转自博主 https://blog.csdn.net/qq_24451605/article/details/47045279
在看这篇博客之前推荐看一看我对于欧拉函数的递推公式的证明,方便理解。
————————————-欧拉定理的内容————————————————————————–
a和n互质,那么a^phi(n) == 1 ( mod n )
————————————欧拉定理的证明—————————————————————————
设xi为n当中与n互质的数,一共有phi(n)个:
1)设mi = a * xi , 则mi与n互质
因为a与n互质,mi也与n互质,所以说这个两个因数当中都没有与n相同的质因子,所以mi也不可能有,所以mi与n必然互质
2)因为mi与n互质,故mi不能被n整除
mi = p*n+q*r
若余数r与n不互质,那么d = gcd ( r , n )!=1 , mi = d*c(c代表一个正整数),那么gcd ( mi , n ) != 1 , 与mi和n互质矛盾!
故mi%n == ri, ri 均与n互质
3)若mi == mj ( mod n ) (i!=j)
mi-mj==a*(xi-xj)(mod n ) == 0 ( mod n )
xi和xj均是小于n的正整数,故xi==xj时才能成立,则与i!=j矛盾
故mi%n的余数均不相同,因为mi的个数与n以内与n以内与n互质的数的个数相同,所以ri就是xi的一个不同的排列。
所以从1~n的mi的乘积与1~n的xi的乘积模n下同余,所以约掉相同的部分,a*a*a*a*……..(phi(n)个)==1(mod n ) , 那么原式得证
———————————费马小定理的证明———————————————————————————
费马小定理其实就是欧拉定理在n是素数时的特例:
a^phi(n) == 1 ( mod n )
当n是素数时,phi(n) = n-1
那么a^(p-1)== 1 ( mod p )