欧拉函数与欧拉定理相关

  先推荐一位大佬的博客

欧拉函数

  对于一个正整数$x$,定义它的欧拉函数$\phi (x)$,表示$[1,x-1]$中与$x$互质的数的个数。

  定义$p$为质数,那么可得以下定理:

  1,$\phi (1)=1$,易证,从质数的定义中就知道1与1互质;

  2,$\phi (p)=p-1$,这个也很容易证明,因为$p$是质数所以与任何正整数都互质;

  3,如果$p|x$,$\phi (x*p)=\phi (x) * p$,否则$\phi (x*p)=\phi (x) * (p-1)$;额,这个蒟蒻不会证,自己百度吧(>.<);

  4,$\phi (p^x)= p^x-p^{x-1}$,证明:因为$p$是质数,所以在小于$p^x$的数中与它互质的数也就是不包含$p$这个质数的数,而包含$p$的数一共有$p^{x-1}$个,所以小于且与$p^x$互质的数为$p^x-p^{x-1}$个。得证。

  5,设另一个质数$q$,那么$\phi (q*p)= \phi (q) * \phi (p)=(q-1)*(p-1)$,证明:因为$q,p$都是质数,所以$q*p$的因数除了1和它本身外就只有$q,p$,那么与它互质的书的个数其实就是与$q,p$互质的数的个数之积。

  了解了以上内容,那么怎么求欧拉函数呢?求欧拉函数可不可以用线性筛法求呢?不可以。为什么?自己证(我懒>.<)。

  为了求欧拉函数,就有了下面要讲的欧拉筛。

欧拉筛 

  实际上思想和线性筛的优化版本有些相似,枚举一个数$x$的时候枚举比它小的质数$p$,因为$\phi (x)$和$\phi (p)$都已经求出来了,就可以用上面的公式求出$\phi (x*p)$。

  Code:

 1 int top=0,k,phi[N],q[N];phi[1]=1;
 2     for(int i=2;i<N;i++){
 3         if(!vis[i])phi[q[++top]=i]=i-1;
 4         for(int j=1;j<=top&&(k=i*q[j])<N;j++){
 5             vis[k]=true;
 6             if(i%q[j])
 7                 phi[k]=phi[i]*(q[j]-1);
 8             else {
 9                 phi[k]=phi[i]*q[j];break;}
10         }
11     }

欧拉定理与扩展欧拉定理

  欧拉定理:对于互质的整数$a,n$,有$a^{\phi (n)}\equiv 1 (mod   n)$;

  证明:

  1,若$n$为质数,那么$\phi (n) = n-1$,由费马小定理$a^{p-1} \equiv 1 (mod   p)$即可征得。

  2,若$n$不是质数,那么设集合$Z={x_1,x_2,x_3..x_{\phi (n)}}$表示小于且与$n$互质的正整数的集合,那么因为$a$与$n$也互质,那么$a * x_i$与$n$也互质,也就属于集合$Z$。又对于任意的$x_i,x_j,i \neq j$,都有$a * x_i \% n \neq a * x_j \% n$(由取模的消去律可得)。那么就有

   $a^{\phi (n)}*x_1*x_2*...*x_{\phi (n)}  (mod   n)$

  $\equiv (a*x_1)*(a*x_2)*...*(a*x_{\phi (n)}) (mod   n)$

  $\equiv ((a*x_1 \% n)*(a*x_2 \% n)*...*(a*x_{\phi (n)} \% n)) (mod    n)$

  $\equiv x_1*x_2*...*x_{\phi (n)} (mod   n)$

  $\equiv 1 (mod   n) $

  又由消去律得到$a^{\phi (n)} \equiv 1 (mod    n)$。

  

  欧拉扩展定理:

  $a^b \equiv a^{b \% \phi (p)} (mod p)    if (gcd(a,b)=1)$

  $  \equiv a^b (mod  p)    if(gcd(a,b)\neq1 \&\& b<\phi (p))$

  $  \equiv a^{b \% \phi (p) + \phi (p)} (mod  p)    if(gcd(a,b)\neq1 \&\& b\geq\phi (p))$

  额这个实在是懒,真的不想证(markdown格式打公式真的累。。。>.<)。

例题

  UVA12995 【Solution

  Luogu.org P4139 【Solution

猜你喜欢

转载自www.cnblogs.com/cytus/p/9240690.html