码迷,mamicode.com
首页 > 其他好文 > 详细

欧拉函数模板

时间:2014-12-31 08:41:35      阅读:135      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!