数论基础——欧拉函数(一)(模板)

大兔子大兔子 提交于 2020-03-02 01:03:16

数论基础——欧拉函数

定义

对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。

通式

φ(n)=n×(11/p1)×(11/p2)×(11/p3)×...×(11/pn)\varphi(n)=n\times(1-1/p_1)\times(1-1/p_2)\times(1-1/p_3)\times...\times(1-1/p_n)
即:φ(n)=n×i=1npi1pi\varphi(n)=n\times\prod_{i=1}^{n}{\frac{p_i-1}{p_i}}
p1p2p3...pnp_1、p_2、p_3...p_n是n(n>0)的质因数.
注意:φ(1)=1\varphi(1)=1.

代码

ll eular(ll n)
{
    ll ans = n;
    for(int i=2; i*i <= n; i++)
    {
        if(n%i == 0)//i是质因数
        {
            ans = ans/i*(i-1);
            while(n%i == 0)//确保不会出现合数因子
                n/=i;
        }
    }
    if(n > 1) ans = ans/n*(n-1);
    //因为i是从2开始,所以上面的循环无法判断n是素数的情况,因此在这加个判断
    return ans;
}

性质

1.若p为质数,φ(p)=p1\varphi(p)=p-1

2.若m,n互质,则φ(m×n)=φ(m)×φ(n)\varphi(m\times n)=\varphi(m)\times\varphi(n)

3.若n=pk(p)n=p^k(p是质数),则φ(n)=(p1)×pk1\varphi(n)=(p-1)\times p^{k-1}

4.欧拉定理:对于互质的m、n,有nφ(m)1(modm)n^{\varphi(m)}≡1(mod m)

5.费马小定理:对于质数p
若n mod p = 0 ,则 φ(n×p)=φ(n)×pφ(n\times p)=φ(n)\times p
若n mod p ≠ 0 ,则φ(n×p)=φ(n)×(p1)φ(n\times p)=φ(n)\times (p-1)

6.小于n且与n互质的数的和:S=n×φ(n)2S=n\times \frac{\varphi(n)}{2}

7.n=dnφ(d)n=∑_{d|n}φ(d)
注: (d|n)指n是d的倍数

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!