欧拉函数-欧拉定理-费马小定理

来源:互联网 发布:英雄联盟mac版美服 编辑:程序博客网 时间:2024/05/20 05:25

这种东西,我技不如人,只能转载了;
http://www.cnblogs.com/16er/p/5159396.html
我在之前的学习里面肤浅的接触过欧拉函数;
但是现在我发现这三个东西出现在noip里面;
所以么有点慌了;

欧拉函数:
对于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 ,然后乘起来得到的。
这时的你是否有一丝激动!
这不就是和容斥原理一毛一样!
然后就得证了!

我在之前的博客里面口胡过关于欧拉函数的理解;
http://blog.csdn.net/largecub233/article/details/60782683
(不看也罢)

欧拉定理:
对于和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.
而且,借助费马小定理我们可以实现对除法取模。