[SDOI2008]仪仗队 欧拉函数

来源:互联网 发布:淘宝大促时间表2017 编辑:程序博客网 时间:2024/05/21 22:25

运用素数筛选的思想求欧拉函数。

#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int maxn=40000;int p[maxn+100];void init(){    p[1]=1;    for(int i=2;i<=maxn;i++){        if(!p[i]){            for(int j=i;j<=maxn;j+=i){                if(!p[j]) p[j]=j;                p[j]=p[j]/i*(i-1);            }        }    }}int main(){    int i,j,k;    init();    for(i=2;i<=40000;i++) p[i]+=p[i-1];    int n;    scanf("%d",&n);    printf("%d\n",p[n-1]*2+1);    return 0;}

^_^

0 0