首页 > 其他 > 详细

欧拉函数性质及模板

时间:2019-08-17 00:12:22      阅读:109      评论:0      收藏:0      [点我收藏+]

(以下p表示质数)

①当n = p^k时: 技术分享图片 

②若m,n互质:技术分享图片

③n为质数时: 技术分享图片

④对任何两个互质的正整数a, m(m>=2)有

技术分享图片 即欧拉定理

当m是质数p时,此式则为:

技术分享图片 即费马小定理

⑤所有小于n并且与n互质数的和为:sum = n * φ(n)/2

 

模板

bool vis[N]; //质数为0
int prime[N], phi[N];  //一个存质数,一个是欧拉函数
void get_prime(){
    int pos = 0;
    phi[1] = 1;
    vis[1] = 1;
    for(ll i = 2; i <= N; i++){
        if(!vis[i]){
            prime[++pos] = i;
            phi[i] = i-1;
        }
        for(ll j = 1; j <= pos && prime[j]*i <= N; j++){
            vis[i*prime[j]] = 1;
            if(i%prime[j] == 0){
                phi[i*prime[j]] = phi[i]*prime[j];
                break;
            }
            phi[i*prime[j]] = phi[i]*phi[prime[j]];
        }
    }
}

 

欧拉函数性质及模板

原文:https://www.cnblogs.com/philo-zhou/p/11366319.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!