欧拉函数:表示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); } } }