欧拉函数

From:http://blog.sina.com.cn/s/blog_694034130100wlrh.html

Farey Sequence

欧拉函数裸体,只要知道phi[x]为比X小且与X互质元素个数,预处理出phi[i]就OK了。

View Code
//递推预处理出phi
void get_phi() {
     int i,j,k;
     for(i=1;i<MM;i++) phi[i]=i;
     for(i=2;i<MM;i+=2) phi[i]>>=1;
     for(i=3;i<MM;i++) {
         if(phi[i]==i) {
             for(j=i;j<MM;j+=i) 
                 phi[j]=phi[j]/i*(i-1);
         }
     }
}

第一个欧拉函数,纪念一下,code:这里

 

posted @ 2012-12-20 17:00  zhang1107  阅读(148)  评论(0编辑  收藏  举报