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

目录

数论基础——欧拉函数

定义

对于一个正整数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×(1−1/p1​)×(1−1/p2​)×(1−1/p3​)×...×(1−1/pn​)
即:φ(n)=n×i=1npi1pi\varphi(n)=n\times\prod_{i=1}^{n}{\frac{p_i-1}{p_i}}φ(n)=n×∏i=1n​pi​pi​−1​
p1p2p3...pnp_1、p_2、p_3...p_np1​、p2​、p3​...pn​是n(n>0)的质因数.
注意:φ(1)=1\varphi(1)=1φ(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φ(p)=p−1

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

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

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

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

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

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

数论基础——欧拉函数(一)(模板)数论基础——欧拉函数(一)(模板) sqi_王 发布了10 篇原创文章 · 获赞 1 · 访问量 177 私信 关注
上一篇:复变函数


下一篇:CSP-S 2019数学知识总结 之 欧拉定理