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

数论基础——欧拉函数

定义

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

通式

φ ( n ) = n × ( 1 1 / p 1 ) × ( 1 1 / p 2 ) × ( 1 1 / p 3 ) × . . . × ( 1 1 / p n ) \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 = 1 n p i 1 p i \varphi(n)=n\times\prod_{i=1}^{n}{\frac{p_i-1}{p_i}}
p 1 p 2 p 3 . . . p n p_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 ) = p 1 \varphi(p)=p-1

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

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

4.欧拉定理:对于互质的m、n,有 n φ ( m ) 1 ( m o d m ) 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 ) × ( p 1 ) φ(n\times p)=φ(n)\times (p-1)

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

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

发布了13 篇原创文章 · 获赞 2 · 访问量 342

猜你喜欢

转载自blog.csdn.net/weixin_45718149/article/details/104588974