欧拉函数 求小于某个数并与其互质的数的个数

 1 const int maxn=32790;
 2 int euler[maxn+2];
 3 void make()
 4 {
 5     euler[1]=0;
 6     for(int i=2;i<=maxn;++i)
 7         euler[i]=i;
 8     for(int i=2;i<=maxn;++i)
 9         if(euler[i]==i)
10             for(int j=i;j<=maxn;j+=i)
11                 euler[j]=euler[j]/i*(i-1);
12 }
View Code

euler[n]代表的就是在n之前与n互质的数的个数

posted @ 2015-07-25 09:12  相儒以沫  阅读(370)  评论(0编辑  收藏  举报