欧拉函数及相关定理

欧拉函数

定义

φ(n) 表示小于等于n的与n互质的数的个数。

性质

  1. φ为积性函数,即φ(ab)=φ(a)φ(b) (ab)
  2. 根据定义可知,φ(p)=p1 (pprime)
  3. 根据定义可知,φ(pk)=pkpk1
  4. 由第一分解定理,设n=i=1rpikiφ(n)=ni=1rpi1pi=ni=1r(11pi)
  5. n=d|nφ(d)

欧拉定理

gcd(a,b)=1,则aφ(b)1(modb)

bprimeab11(modb)就是费马小定理

扩展欧拉定理

ab{abmodφ(p)gcd(a,p)=1abgcd(a,p)1,bφ(p)abmodφ(p)+φ(p)gcd(a,p)1,b>φ(p)(modp)

一些模板

线性筛欧拉函数

int ss[N],cnt,vs[N],fi[N];
il void init(int n){
    fi[1]=1;
    for(ri int i=2;i<=n;++i){
        if(!vs[i]) ss[++cnt]=i,fi[i]=i-1;
        for(ri int j=1;j<=cnt&&ss[j]*i<=n;++j){
            vs[i*ss[j]]=1;
            if(i%ss[j]) fi[i*ss[j]]=fi[i]*fi[ss[j]];
            else{fi[i*ss[j]]=fi[i]*ss[j];break;}
        }
    }
    return;
}

求一个数的欧拉函数

il int fi(int n){
    int as=n,res=n;
    for(ri int i=2;i*i<=res;++i){
        if(res%i==0){
            while(res%i==0) res/=i;
            as=as/res*(res-1);
        }
    }
    if(res>1) as=as/res*(res-1);
    return as;
}

资料

qwq

练习题

一些练习题

edit

posted @   雨夜风月  阅读(283)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示