欧拉函数及相关定理

版权声明:Dream_dog专属 https://blog.csdn.net/Dog_dream/article/details/82468802

欧拉函数定义:

小于或等于n且与n互质的数的个数   互质条件:gcd(a,b)=1;

φ(n)=n*(1-1/p1)*(1-1/p2)*...*(1-1/px)         其中:p1,p2..px 为n的质因数;

例: 

φ(8)={1,3,5,7}=4=8*(1-1/2);       

φ(7)={1,2,3,4,5,6}=6=7*(1-1/7);

欧拉函数的性质:

(1)    φ(p^k)=(p-1)*p^(k-1)         p为质数;

(2)    φ(a*b)=φ(a)*φ(b)              a,b互质

(3)    特殊性质:φ(2n)=φ(n)        n为奇数

(4)   φ(n)当n>2时为偶数

扫描二维码关注公众号,回复: 3231237 查看本文章

(5)   一个数的质因数之和为φ(n)*n/2

欧拉函数模板:

(1)

void init()
{
    clr(eule,0);
    eule[1]=1;
    tot=0;
    for(int i=2;i<maxn;i++)
    {
        if(!eule[i]){eule[i]=i-1;prime[tot]=i;tot++;}
        for(int j=0;j<tot&&i*prime[j]<maxn;j++)
        {
            eule[i*prime[j]]=1;
            if(i%prime[j]==0){eule[i*prime[j]]=eule[i]*prime[j];break;}//性质2和3
            else {eule[i*prime[j]]=eule[i]*(prime[j]-1);}//性质2
        }
        eule[i]+=eule[i-1];
    }
    return ;
}

(2)

int get_phi(int x)
{
    int res=x;
    for(int i=2;i*i<=x;i++)
    {
        if(x%i==0)
        {
            res=res/i*(i-1);
            while(x%i==0)x/=i;
        }
    }
    if(x!=1)res=res/x*(x-1);
    return res;
}

费马小定理:

 a^(p-1)≡1(mod p)               p为素数且gcd(a,p)=1;

此定理是又欧拉函数定理可求得


欧拉扩展定理:


由于博主太菜相关证明都只是懵懂所以就只贴定理硬背着用

猜你喜欢

转载自blog.csdn.net/Dog_dream/article/details/82468802