欧拉函数与中国剩余定理
欧拉公式
很美
但是,我们使用这个公式时不可避免要计算φ(m)φ(m)
一种简单的方法是枚举1~m-1来检查是否互质,但是当m几十位上百位时,这种方法就不可行了
我们试着去寻找一些规律
首先,当m是一个素数时,φ(p)=p−1φ(p)=p−1 这很自然
当m=pkm=pk时,考虑1∼pk1∼pk 之间与p互质的数的个数。由于p是质数,则其间只有能被p整除的那些数不与pkpk 互质
这些数共有多少个呢?显然是pk/ppk/p个 即Pk−1Pk−1
所以得到
现在素数和素数的幂我们已经解决了
看看还能不能找出其他规律
通过之前的同余、费马小定理、欧拉公式,我们可以看出互质在这里非常重要,下面找一些例子看看
我们知道如果p、q是素数,则pjpj和qkqk 也是互质的 ,如下所示
从这个表可以看出φ(pjqk)=φ(pj)φ(qk)φ(pjqk)=φ(pj)φ(qk)
再尝试一些不是素数次幂互质的例子,如φ(14)=6φ(15)=8φ(210)=48φ(14)=6φ(15)=8φ(210)=48
于是我们猜测下述断言成立
如果gcd(m,n)=1 则φ(mn)=φ(m)φ(n)φ(mn)=φ(m)φ(n) 这个公式会很有用
它为我们提供了快捷计算欧拉函数的方法:
对于一个整数m,进行质因数分解可得
由于是不同的素数底数,所以之间是互质的
于是得到
又φ(pk)=pk−pk−1φ(pk)=pk−pk−1 所以带入后即可直接计算
总结一下φφ 函数公式
定理11.1 (φφ 函数公式).
(a)如果p是素数且k⩾1k⩾1 则 φ(pk)=pk−pk−1φ(pk)=pk−pk−1
(b)如果gcd(m,n)=1 则φ(mn)=φ(m)φ(n)φ(mn)=φ(m)φ(n)
证明 只要证明b
有两个集合,第一个集合是
这个集合有φ(mn)φ(mn)个元素
第二个集合是
这个集合有φ(m)∗φ(n)φ(m)∗φ(n)个元素
只要证明两个集合的元素是一一对应的,那么这两个集合的元素就是相等的。考虑下面两个角度
①第一个集合的每个元素,在第二个集合中都能找到对应项。
②第二个集合的每个元素在第一个集合中都有原项。
下面分别证明两点
①首先,gcd(a,mn)=1gcd(a,mn)=1 则(a,m)=(a,n)=1 那么(a%m,m)=(a%n,n)=1(a%m,m)=(a%n,n)=1 即在第二个集合一定能找到对应
可能出现多对一吗?假设存在设为ai,ajai,aj 则ai≡aj(modm)ai≡aj(modm) ai≡aj(modn)ai≡aj(modn)
即m|(ai−aj)m|(ai−aj) n|(ai−aj)n|(ai−aj)
又m,n互质
则mn|(ai−aj)mn|(ai−aj)
而ai,aj∈[1,mn−1]ai,aj∈[1,mn−1]之间的 所以ai=ajai=aj
即第一个集合的不同数对应第二个集合的不同序对
②对于b,c的已知值,至少可以求得一个整数a满足
这个同余式组一定有解 的事实非常重要,以至于有自己的名称
定理11.2(中国剩余定理). 设m与n是整数,gcd(m,n)=1,b与c是任意整数
则同余式组
恰有一个解0⩽x<mn0⩽x<mn
证明根据线性方程定理 见书p53
(带入思想)
习题
11.2 φ(m)m>=3φ(m)m>=3 则 φ(m)φ(m)为偶数
11.3 试证明
解答 :由φφ 函数公式和唯一分解定理可简单证明
11.9 m1,m2,m3两两互质
设a1,a2,a3是任意3个整数,证明同余式组
在区间0⩽x<m1m2m30⩽x<m1m2m3 恰有一个整数解xx
带入思想
试推广到更多同余式
求出方程组 的解x
其中m0,m1,m2,m3...mn−1m0,m1,m2,m3...mn−1 两两互质
解:
令Mi=∏j≠imjMi=∏j≠imj 则有(Mi,mi)=1(Mi,mi)=1
故存在pi,qipi,qi ,使得Mi∗pi+mi∗qi=1Mi∗pi+mi∗qi=1
令 ei=Mipiei=Mipi , pipi即为MiMi 模mimi下的逆元 (Mi,mi)=1(Mi,mi)=1
则有
$$
e_i\equiv
\left{
$$
故$e_0a_0+e_1a_1+e_2a_2+…+e_{n-1}a_{n-1}$是方程的一个解
由中国剩余定理知,[0∼∏n−1i=0mi}[0∼∏i=0n−1mi} 中必有一解
将上式模∏n−1i=0mi∏i=0n−1mi即可