[bzoj 2190][SDOI2008]仪仗队(线性筛欧拉函数)

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2190

分析:就是要线性筛出欧拉函数。。。

直接贴代码了:

1 memset(ans,0,sizeof(ans));
2 ans[1]=1;
3 for(int i=2;i<=n;++i)
4    if(!ans[i])
5         for(int j=i;j<=n;j+=i)
6         {
7             if(!ans[j]) ans[j]=j;
8             ans[j]=ans[j]/i*(i-1);
9         }
View Code

 

posted @ 2014-08-15 23:51  Chellyutaha  阅读(131)  评论(0编辑  收藏  举报