ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何求欧拉函数?

2021-07-28 16:35:47  阅读:257  来源: 互联网

标签:约数 11 函数 如何 素数 互质 欧拉


欧拉函数的表示含义:

表示求小于n的正整数中与n互质的数的个数。

欧拉函数的求法:

性质:

(1) n为素数,则φ(n) = n - 1

显然,由于n为素数,1~n-1与n都只有公因子1,因此φ(n) = n - 1。

(2) n = p^kp为素数(即n为单个素数的整数幂),则φ(n) = (p-1)*p^(k-1)

因为n是p的整数幂,因此所有p的倍数和n都不互质。小于n的p的倍数一共有p^(k-1)-1个,因此和n互质的个数为:

p^k-1- (p^(k-1)-1) = p^k - p^(k-1) = (p-1)*p^(k-1)

(3)pq互质,则φ(p*q)= φ(p) * φ(q)
例如:φ(55)=φ(11*5)= φ(11) * φ(5)=(11-1)*(5-1)=40
由以上性质,可以推出以下定理:

(1) pn的约数,则φ(n*p) = φ(n) * p

若p为n的约数,且p为质数。则我们可以将n表示为p^k*m。m表示其他和p不同的质数的乘积。

显然有p^k与m互质,则:

φ(n)
= φ(p^k)*φ(m) = (p-1)*p^(k-1)*φ(m)
φ(n*p)
= φ(p^(k+1))*φ(m) = (p-1)*p^k*φ(m) = (p-1)*p^(k-1)*φ(m) * p = 
φ(n) * p

(2) p为不为n的约数,则φ(n*p) = φ(n) * (p-1)

由p不为n的约数,因此p与n互质,所以φ(n*p) = φ(n) * φ(p) = φ(n)*(p-1)


有了这些定理,就可以用Eular筛法求出欧拉函数了。
因为每个素数都可以直接计算,每个合数都会被筛掉,所以每个数都会计算到。

 

标签:约数,11,函数,如何,素数,互质,欧拉
来源: https://www.cnblogs.com/fanglijiao/p/15071098.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有