欧拉函数筛选模板,转自http://www.cnblogs.com/handsomecui/p/4755455.html

来源:互联网 发布:2016网络流行歌曲试听 编辑:程序博客网 时间:2024/05/16 04:37

欧拉函数


筛选模板:求[1,n]之间每个数的质因数的个数

#define size 1000001

int euler[size];

void Init()

{

     memset(euler,0,sizeof(euler));

          euler[1]=1;

     for(int i=2;i<size;i++)

       if(!euler[i])

       for(int j=i;j<size;j+=i)

       {

              if(!euler[j])

               euler[j]=j;

               euler[j]=euler[j]/i*(i-1);//先进行除法是为了防止中间数据的溢出

         }

}

阅读全文
0 0