Skip to content

第 3 章:欧拉函数与欧拉定理 ​

返回目录

3.1 欧拉函数数的是哪些整数 ​

\varphi(n)表示1,2,\ldots,n中与n互质的整数个数。等价地,它是模n可逆剩余类的个数。它数的不是素数,也不是n的质因子。

若n=\prod_{i=1}^k p_i^{e_i}是质因数分解,其中p_i互不相同,那么

\boxed{\varphi(n)=n\prod_{i=1}^k\left(1-\frac1{p_i}\right).}

为什么只出现不同的质因子,而没有直接出现次数e_i?一个整数与n不互质,意味着它被某个p_i整除。是否被p_i整除已经决定了它要被排除,不需要再分别排除p_i^2,p_i^3的倍数。幂次仍包含在前面的n中。

3.2 乘积公式为什么就是容斥 ​

先看n恰有两个不同质因子p,q的情况。在1至n中,p的倍数有n/p个,q的倍数有n/q个。如果直接都减掉,同时被p,q整除的整数会被减两次,所以要补回n/(pq)个:

\varphi(n)=n-\frac np-\frac nq+\frac n{pq}
=n\left(1-\frac1p\right)\left(1-\frac1q\right).

有更多质因子时,原理相同:减去单个倍数集合,加回两两交集,再减去三重交集,依次交替。展开\prod_i(1-1/p_i)时,选一个负项得到一次减法,选两个负项得到交集的加法,选三个负项得到三重交集的减法。乘积展开恰好记录了每种交集和符号。

对于每一个具体整数,这样加减后的总权重是什么?若它不被任何p_i整除,权重为1;若它被其中j\ge1个整除,权重为(1-1)^j=0。因此最终恰好保留互质整数。完整容斥展开在第14章。

特别地,\varphi(p)=p-1,\varphi(p^e)=p^e-p^{e-1}。若m,n互质,CRT把模mn的可逆类与一对模m,n的可逆类对应,因而\varphi(mn)=\varphi(m)\varphi(n)。这个对应在第6章解释。

3.3 欧拉定理的证明为什么仍是重排 ​

欧拉定理把质数模数推广到一般模数:若n\ge2且\gcd(a,n)=1,则

\boxed{a^{\varphi(n)}\equiv1\pmod n.}

设r_1,\ldots,r_{\varphi(n)}代表全部与n互质的剩余类。乘a后仍互质:若某个质因子同时整除ar_i和n,它必整除a或r_i,而这两种情况都被互质条件排除。不同的r_i也不会碰到一起:ar_i\equiv ar_j可以消去a。

于是ar_1,\ldots,ar_{\varphi(n)}只是这一整组可逆类的重排。相乘得到

a^{\varphi(n)}r_1\cdots r_{\varphi(n)}
\equiv r_1\cdots r_{\varphi(n)}\pmod n.

乘积仍与n互质,消去后就是欧拉定理。注意,两次消去都检查了互质:先对a使用,最后对r_1\cdots r_{\varphi(n)}使用。

3.4 欧拉指数保证了什么 ​

当n=p为质数时,\varphi(p)=p-1,欧拉定理退回费马小定理。对一般互质底数,它同样允许把指数对\varphi(n)取余,推导方式与第2.3节相同。

但\varphi(n)只是一个一定能使幂回到1的指数,不一定最小;下一章会定义这个最小指数。若底数不与模数互质,欧拉定理就不能直接使用。这也是为什么RSA的解密正确性不能只写一句“由欧拉定理”,还必须处理不互质的消息。

保留每一次追问,认真走完每一步证明。