①欧拉定理和费马小定理
欧拉定理:若n,a为正整数,且n,a互素,则: 。
费马小定理:若p为素数,a为正整数且和p互素,则: 。
由于当n为素数时φ(n) = p-1,而欧拉定理不需要φ(n) 为素数,可见费马小定理是欧拉定理的特殊形式
②Miller-Rabin素数测试(费马小定理应用)
费马小定理除了求逆元,还可以用来判断素数。
但是有个很大的问题,费马小定理的逆定理不一定成立。p满足 ,不一定p就是质数,比如a=2,p=341。
这时需要随机化+二次探测原理 原理见链接
③降幂!欧拉函数性质及解特殊高次同余方程:
欧拉函数更好用,主要是建立了次数和模m的关系 ,因此可以用来解高次同余方程a^x=1(mod m)(gcd(a,m)=1)的次数x。
如果1改成C,需要用到BSGS算法及扩展BSGS算法(不扩展的只能处理gcd=1) 理解链接(无代码)
扩展欧拉定理: 题链接
①若gcd(a,m)=1,那么使用欧拉定理即可:a^b≡a^(b%φ(m))(mod m)
②若gcd(a,m)>1,且b>φ(m),则有“求幂大法”——a^b≡a^(b%φ(m)+φ(m))(mod m)
(当b<=φ(m)时直接用快速幂即可)
对于①设gcd(a,m)=1,必有正整数x,使得a^x=1(mod m),且设满足等式的最小正整数为x0,必满足x0|phi(m)
(注意这符号是“除”不是“被除”,即ph(i)被x0整除)
即x0是m的欧拉函数值的因子,注意m>1.
②一般的解法,可以dfs递归求解,注意b>φ(m)
欧拉定理简单运用:
①解余数为1的同余方程
HDU1395 ,2588 并学会快速写出分解因子(链接 链接)
②扩展欧拉定理 解方程 HDU2837 题解