参考博客:欧拉函数的使用,浅谈欧拉函数
非常感谢上面两位博主花了很多心思来写这个博客,让我受益很多。
十分感谢,我现在想自己总结一遍,希望自己的总结能更好地了解这个知识点。
本博客主要是总结和学习,若大家有疑问或者错误可以在评论处提出。
1、欧拉函数是什么?
就是算出在[1,n]中gcd(x,n)=1有多少个,记作:φ(n).
例如,φ(12)=4;与12互质分别是:1,5,7,11;
2、如何算出欧拉函数?
通式为:
其中通式中,n的个数,取决于这个x的质因数的种类数,
比如:x=12,那么n=2,因为2,3是它的质因子。
3、从通式中理解欧拉函数:
预备知识:
1、求x的倍数在n内有多少个?
答案:,其实就是看看有在n内有多少倍的x即可。
2、求除x的倍数在n内有多少个?
答案:,就是用总数减去它的倍数即可。
3、唯一分解定理:
任何一个大于1的正整数都被多个质数的乘积表示。
如:12=2^2*3.
其中,2,3被叫做质因子
大家感受一下φ(12)的推导吧!!!!
首先是有12个数字:
{1,2,3,4,5,6,7,8,9,10,11,12}
然后经过×(1-1/2)后得到:12*1/2=6个数字。
{1,3,5,7,9,11}
然后经过×(1-1/3)后得到:6*2/3=4个数字。
{1, 5, 7 ,11}
这几个数字就是与12互质的。
经过一次实现之后,大家应该更加清楚这个过程了吧。
小细节
但是认真仔细的你有没有发现一个小细节?????
就是第一步,×(1-1/2)还是能理解的,因为这样就可以去掉2的所有倍数。
但是下一步就出现问题了?????
这个问题就是为什么是在6个数的基础上剔除3的倍数呢???这样是否合法呢?
含义大家都懂,其实就是剔除3的所有倍数呗,但是这样做是否讲得通道理呢?
大家需要了解一下:积性函数
若当m与n互质时,f(m∗n)=f(m)∗f(n),那么f是积性函数。
若对任意正整数,都有f(m*n)=f(m)*f(n)成立,则f是完全积性函数。
其实刚才这个小细节,理论上其实行不通的,因为这个仅仅是我们对通式的一个理解罢了。我们应该从积性函数来出发解决,我们把任何一个数,唯一分解之后得到是几个质因数的乘积。
,中间需要用到:,
合并起来得到:
4、欧拉函数的性质:
-
对于φ(p)=p-1,当且仅当p为素数。
-
当p为质数时,,则
-
欧拉函数是积性函数,但不是完全积性函数。若m,n互质,则φ(m∗n)=φ(m)∗φ(n) 。
特殊地,当m=2,n为奇数时,φ(2*n)=φ(n)。 -
当n>2时,φ(n)为偶数
-
当x∈[1,n],且满足gcd(x,n)=1,
-
n的所有因数的欧拉值相加等于n,
以上性质都是@liuzibujian 博客上提供的。
5、欧拉函数相关性质证明:
1、对于φ(p)=p-1,当且仅当p为素数。
【证明过程】:
∵p为素数 ∴因数只有1和它本身
又∵在[1,n]内,gcd(1,n)=1
∴φ(p)=p-1
2、当p为质数时,,则
其实这个证明我之前看吉老师的NOIP的教学就有提到了。也是一句话带过,但是后来发现恰恰就是那么一句话就把这个性质给说明白了,不得不佩服吉老师。
【证明过程】:
∵p是质数,也就是说n中没有其他的质因子了。
∴其实与它互质的只有p的倍数。
∵总数为:
又∵在n内p的倍数有:
∴
3、欧拉函数是积性函数,但不是完全积性函数。
若m,n互质,则φ(m∗n)=φ(m)∗φ(n) 。
特殊地,当m=2,n为奇数时,φ(2*n)=φ(n)。
其实这个没有什么好解释的,大家知道如果是完全积性函数就是:
积性函数:对于任意互质的整数a和b有性质f(ab)=f(a)f(b)的数论函数。
完全积性函数:对于任意整数a和b有性质f(ab)=f(a)f(b)的数论函数。
以上摘自百度百科“积性函数”
4、当n>2时,φ(n)为偶数
两次讨论即可:
1、当n为质数时
当n为质数时,n必定是奇数。
那么φ(n)=n-1。n-1必为偶数
2、当n为偶数时
(1)、n的质因数只有2
(2)、n的质因数不仅只有2,或者没有2
(1)、n的质因数只有2
如果质因数只有2,即4,8,16等
根据性质2:φ(n)=(p-1)*p^(k-1),其中p-1=1,而大于2,那么k>1,
∴φ(n)=1×2^(t)必定为偶数。
(2)、n的质因数不仅只有2,或者没有2。
其实根据无论从积性函数,性质2,通式展开都很好说明。
只要有一个质因数不为2的质因子,如3,5之类的。
必定会产生p-1。
如通式中,
即可变成:,其中有p-1出现,
那么说明这个φ(n)必定为偶数。
5、当x∈[1,n],且满足gcd(x,n)=1,
【证明过程】:
gcd(x,n)=gcd(x,n-x)=1 (更相减损法)
∴[1,n]中,所有与n互质的数x,必将都有n-x与n互质。
而且根据性质4可得知必须是偶数项。
∴把成对出现的<x,n-x>累加得到,x+(n-x)=n,共有对
∴
6、n的所有因数的欧拉值相加等于n,
不得不说这个证明是还是借鉴(抄袭),我真的不知道这个命题是怎样证明的。
以12为例。12的因子有1,2,3,4,6,12。把与这些数互质的数列出来:
不妨把这些数作为分母,把与这些数互质的数作为分子,写成分数形式:
显然,每一行的数的个数就是该行的分母的欧拉函数值。倘若把这些数都改成以12为分母的数:
可以发现,这些数是以12为分母,1~12为分子的所有数,所以个数为12个。所以与12互质的数的欧拉函数值之和就是12。这样,命题大概就被证明了吧。