欧拉函数模板

 
 1 int euler(int x)
 2 {
 3     int s = x;
 4     for(int i= 2 ; i*i <= x ; i++)
 5     {
 6         if(x%i==0)
 7         {
 8             s-=s/i;
 9             while(x%i==0)
10             x/=i;
11         }
12     }
13     if(x!=1)
14     s-=s/x;
15     return s;
16 }

 

posted @ 2014-04-20 19:42  _雨  阅读(119)  评论(0编辑  收藏  举报