2016.1.26
欧拉函数:
对于m=p1e1 . p2e2 . p3e3 . …… . pnen (唯一分解)
欧拉函数定义为φ(m)=m * ∏(pi – 1)/pi
其意义为不超过m并且和m互素的数的个数
特别的φ(1)=1
证明:
首先不知道容斥原理的先了解一下
于是可以得到φ(m)=n-n/p1-n/p2-...-n/pn+n/(p1p2)+n/(p1p3)+...+n/(pk-1pk)-...........
然后再来看公式φ(m)=m * ∏(1– 1/pi)
把右边展开【众人:你逗我
当然不是真的展开,事实上我们展开的每一项无非是从每个括号中选一个,不是1就是-1/pi ,然后乘起来得到的。
这时的你是否有一丝激动!
这不就是和容斥原理一毛一样!
然后就得证了!
欧拉定理:
对于和m互素的x,有xφ(m)≡1(mod m)
证明:
设所有n以下和n互质的数依次为X1,X2,…,Xφ(n)
设k为一个与n互质的数,那么设A={kX1, kX2,…, kXφ(n)}
【那么A中没有两个数模n同余】
证明:假设ak≡bk(mod n)
那么有ak-bk=nq,即(a-b)k=qn,所以左式模n为0
然而k与n互质,1<(a-b)<n,所以(a-b)也模n不等于0
那么显然上式不成立
证毕
【A中所有数的余数都与n互质】
证明:假设gcd(kXi mod n, n)=r
那么kXi=qn+pr
那么kXi也有因子r,那么kXi与n不互质,显然不可能
证毕
那么由以上两个结论可知A中的数模n的余数应该与X1,X2,…,Xφ(n) 唯一对应。
即X1*X2*…*Xφ(n) ≡ kX1*kX2*…*kXφ(n) (mod n)
也就是说0 ≡ (kφ(n)-1)*X1*X2*…*Xφ(n) (mod n)
显然X1*X2*…*Xφ(n)是与n互质的,所以kφ(n)-1≡0(mod n)
kφ(n)≡1(mod n)
得证
费马小定理:
特别的,当p为素数时,x无法被p整除,φ(p)=p-1,于是便有费马小定理Xp-1≡1(mod p)
在p是素数时,对任意正整数x都有Xp≡X(mod p)
于是对于a的逆元x,有ax≡1(mod m),对于a,m互素且m为素数时,有x=am-2,于是我们可以通过快速幂快速求出a的逆元。
另外,借助素数筛,我们还可以很快的求出1-n的欧拉函数值。每当我们找到一个素数,就把他的倍数的欧拉函数值乘上(p-1)/p.
而且,借助费马小定理我们可以实现对除法取模。