首页 > 其他 > 详细

欧拉函数模板

时间:2014-12-31 08:41:28      阅读:246      评论:0      收藏:0      [点我收藏+]

欧拉函数:表示1-(n-1)中,与n互质的数的个数

本以为学会容斥原理就不必再看欧拉函数,可是偏偏就是有些题用容斥原理解不了,必须参考欧拉,没办法只好回头看欧拉函数

下面贴一个筛法求欧拉函数模板:

//初始化eu[1]=0或者eu[1]=1,具体情况根据题目变化!
//下面计算2-10000的欧拉函数
const int MAX = 10001;
int eu[MAX];//不要忘记初始化eu[1]. 
void eular(){
    for(int i=2;i<MAx;i++){
        if(!eu[i])
            for(int j=i;j<MAX;j+=i){
                if(!eu[j]) eu[j]=j;
                eu[j]=eu[j]/i*(i-1);
            }
    }
}

欧拉函数模板

原文:http://blog.csdn.net/hpuhjl/article/details/42290279

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