写这个类型博客的目的就是想总结一下某个专题的知识点,方便以后比赛前复习,由于太菜,如有错误,还请斧正。
首先我们要区别欧拉函数和欧拉定理
欧拉定理简单来说是用于求逆元的,当然也可用于降幂运算(若a,n互质 a^k ≡ a^(k mod φ(n)) (mod n) )
至于扩展欧拉定理就不在这讲述了(主要太菜,不理解,如有需要的可以进入这个链接:https://zhuanlan.zhihu.com/p/24902174)
接下来我们来说说今天的主角:欧拉函数
欧拉函数有什么用呢?
- 求1~n内与n互质的数的个数,直接就是φ。
- 求1~n内与n互质的数的总和,就是n * φ(n)/2;(1~n内与n互质的数具有对称性,即gcd(x,n)=1,则gcd(n-x,n)=1)
那么如何求欧拉函数?
(这是通项公式)
常用的求导欧拉函数方式:
1.欧拉筛求导欧拉函数
for(i=1;i<=n;i++)
{
if(prime[i]) //判断是否质数
{
phi[i] =