【证明】欧拉定理及广义欧拉定理

版权声明:转载请声明出处,谢谢配合。 https://blog.csdn.net/zxyoi_dreamer/article/details/82929466

网上现在讲欧拉定理证明的文章好少啊,于是博主就在学习之后萌发了写一篇证明的想法,供大家参考。其实主要是自己找资料找得太辛苦,想为后来人节约一点时间罢了。

欧拉函数:

记为 ϕ ( n ) \phi(n) φ ( n ) \varphi(n) ,程序中一般写作 p h i [ n ] phi[n] ,读法为 f a i fai ,表示小于 n n 且与 n n 互质的数的个数。形式化一点的描述为 ϕ ( n ) = i = 1 n [ g c d ( i , n ) = = 1 ] \phi(n)=\sum_{i=1}^n[gcd(i,n)==1]

其中 [ ] [] 符号表示若其中表达式为真,则这一项的值为1,否则为0。
不过这个符号 φ \varphi 更多用作推式子时候的变量而不是函数名

欧拉定理:

一般的欧拉定理叙述为:对于 a , m \forall a,m ,若 g c d ( a , m ) = 1 gcd(a,m)=1 ,则 n , a n a n m o d    ϕ ( m ) ( m o d   m ) \forall n,a^n\equiv a^{n\mod \phi(m)}(mod\text{ }m)

证明:

1 1 m m 中所有与 m m 互质的数列出,记为 x 1 , x 2 . . . x ϕ ( m ) x_1,x_2...x_{\phi(m)}

每一项乘上 a a ,形成的数列是 a x 1 , a x 2 . . . a x ϕ ( m ) ax_1,ax_2...ax_{\phi(m)}

可以证明,在模 m m 意义下,这两个数列是等价的,即它们可以构成一一对应,因为 g c d ( a , m ) = = 1 gcd(a,m)==1 。(证明很简单,这里就不详讲了)
那么我们将两个数列分别相乘,得到 i = 1 ϕ ( m ) x i i = 1 ϕ ( m ) a x i ( m o d   m ) \prod_{i=1}^{\phi(m)}x_i\equiv \prod_{i=1}^{\phi(m)}ax_i(mod\text{ }m)
i = 1 ϕ ( m ) x i a ϕ ( m ) i = 1 ϕ ( m ) x i ( m o d   m ) \prod_{i=1}^{\phi(m)}x_i\equiv a^{\phi(m)}\prod_{i=1}^{\phi(m)}x_i(mod\text{ }m)
那么就有 a ϕ ( m ) 1 ( m o d   m ) a^{\phi(m)}\equiv 1(mod \text{ }m)
得证。

广义欧拉定理:

广义欧拉定理的叙述为:对于 a , m \forall a,m ,若 g c d ( a , m ) 1 gcd(a,m)\ne 1 ,则有 a n a n   m o d   ϕ ( m ) ( m o d   m ) , ( n < ϕ ( m ) ) a^n\equiv a^{n\text{ }mod\text{ }\phi(m)}(mod\text{ }m), (n<\phi(m)) a n a n   m o d   ϕ ( m ) + ϕ ( m ) ( m o d   m ) , ( o t h e r w i s e ) a^n\equiv a^{n\text{ }mod\text{ }\phi(m)+\phi(m)}(mod\text{ }m), (otherwise)
我必须承认,第一句是废话,但是定理的叙述里面一直都有这句,本着严谨的态度,我还是把它搬上来了。。。(我自己都觉得无语)。
其实思维敏锐的读者也会发现,欧拉定理也满足广义欧拉定理,所以 g c d ( a , m ) 1 gcd(a,m)\ne 1 这个条件也可以去掉。

接下来我们试着证明一下第二条。 a n a n   m o d   ϕ ( m ) + ϕ ( m ) ( m o d   m ) a^n\equiv a^{n\text{ }mod\text{ }\phi(m)+\phi(m)}(mod\text{ }m)
为了方便叙述,我们给几个定理及定义:

a a 的0次,1次,…, b b 次幂模 m m 的结果排成一个序列,前 r r 个数( a 0 a^0 a r 1 a^{r-1} )互不相同,从第 r r 个数开始,每 s s 个数就循环一次。
可以用鸽巢原理证明,这样的 r r s s 总是存在的。
我们称 r r 为a的幂次模 m m 的循环起始点, s s 为循环长度。注意 r r 可能为0,但 s s 一定不为0。

开始证明:

1.当 a a 为素数。

显然 m = a r m m=a^rm' ,则 g c d ( a , m ) = 1 gcd(a,m')=1 ,所以我们有 a ϕ ( m ) 1 ( m o d   m ) a^{\phi(m')}\equiv1(mod\text{ }m') 又由于 g c d ( a r , m ) = 1 gcd(a^r,m')=1 ,所以 ϕ ( m ) ϕ ( m ) \phi(m')|\phi(m) ,所以 a ϕ ( m ) 1 ( m o d   m ) a^{\phi(m)}\equiv1(mod\text{ }m')
a ϕ ( m ) = k m + 1 a^{\phi(m)}=km'+1 两边同时乘以 a r a^r ,得 a r + ϕ ( m ) = k m + a r , b e c a u s e   m = a r m a^{r+\phi(m)}=km+a^r,because\text{ }m=a^rm'
所以 a r a r + s ( m o d   m ) a^r≡a^{r+s}(mod\text{ }m) ,这里 s = ϕ ( m ) s=\phi(m) ,其实到这里证明已经快要接近尾声了,有兴趣的读者可以自己手推一下。

又由于 m = a r m m=a^rm' ,所以 ϕ ( m ) ϕ ( p r ) = p r 1 ( p 1 ) r \phi(m)\ge\phi(p^r)=p^{r-1}(p-1)\ge r
所以 a r a r + ϕ ( m ) a r   m o d   ϕ ( m ) + ϕ ( m ) ( m o d   m ) a^r\equiv a^{r+\phi(m)}\equiv a^{r\text{ }mod\text{ }\phi(m)+\phi(m)}(mod\text{ }m)
所以 a b a r + ( b r )   m o d   ϕ ( m ) a^b\equiv a^{r+(b-r)\text{ }mod\text{ }\phi(m)} a r   m o d   ϕ ( m ) + ϕ ( m ) + ( b r )   m o d   ϕ ( m ) \equiv a^{r\text{ }mod\text{ }\phi(m)+\phi(m)+(b-r)\text{ }mod\text{ }\phi(m)} a ϕ ( m ) + b   m o d   ϕ ( m ) ( m o d   m o d   m ) \equiv a^{\phi(m)+b\text{ }mod\text{ }\phi(m)}(mod\text{ }mod\text{ }m)
a b a b   m o d   ϕ ( m ) + ϕ ( m ) ( m o d   m ) a^b≡a^{b\text{ }mod\text{ }\phi(m)+\phi(m)}(mod\text{ }m)
第一情况得证。
这种情况证明出来了,马上我们的证明就要完成了。

2. a a 是质数 p p 的整数次幂

a = p k a=p^k
显然仍然有 a r a r + s ( m o d   m ) a^{r'} \equiv a^{r'+s'}(mod\text{ }m) 其中 s = ϕ ( m ) s'=\phi(m)

由于对于质数我们有 p r p r + s ( m o d   m ) p^r \equiv p^{r+s}(mod\text{ }m) 而将 m m 中的质因子 p p 除去后的 m m' ,我们有 p s 1 ( m o d   m ) p^s\equiv1 (mod\text{ }m') 。所以 p s k / g c d ( s , k ) 1 ( m o d   m ) p^{s*k/gcd(s,k)}\equiv 1(mod\text{ }m')
p s k 1 ( m o d   m ) p^{s'k}≡1(mod\text{ }m') 时,我们有 s = s / g c d ( s , k ) s'=s/gcd(s,k)

此时 s s ϕ ( m ) s'|s|\phi(m) ,且 r = r k r ϕ ( m ) r'=\lceil \frac{r}{k}\rceil\le r\le\phi(m)

r , s r',s' ϕ ( m ) \phi(m) 的关系,依然可以得到 a b a b   m o d   ϕ ( m ) + ϕ ( m ) ( m o d   m ) a^b≡a^{b\text{ }mod\text{ }\phi(m)+\phi(m)}(mod\text{ }m)

3. a a 是合数

考虑 a a t t 个素数的整数次幂的积的情况。
a = i = 1 t a=\prod_{i=1}^{t} a i = p i k i a_i=p_i^{k_i} a i a_i 在模 m m 意义下的循环节长度为 s i s_i

a a 的循环长度 s s 必有 s l c m ( s i ) s|lcm(s_i) ,而 s i ϕ ( m ) s_i|\phi(m) ,所以 l c m ( s i ) ϕ ( m ) lcm(s_i)|\phi(m) ,所以 s ϕ ( m ) s|\phi(m)

并且我们可以推出 a a 在循环前的长度 r = m a x r i k i m a x { r i } ϕ ( m ) r=max{\lceil \frac{r_i}{k_i}\rceil}\leq max\{r_i\}\leq\phi(m)
所以,当 a a 是合数时,我们仍然有 a b a b   m o d   ϕ ( m ) + ϕ ( m ) ( m o d   m ) a^b≡a^{b\text{ }mod\text{ }\phi(m)+\phi(m)}(mod\text{ }m)

广义欧拉定理得证

以上就是关于欧拉定理内容及证明的叙述,欧拉函数的更多性质我会写在积性函数的总结里面。

猜你喜欢

转载自blog.csdn.net/zxyoi_dreamer/article/details/82929466