uva 10820

来源:互联网 发布:flv视频剪辑软件 编辑:程序博客网 时间:2024/06/05 20:51

欧拉函数

#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <algorithm>#define maxn 50010#define INF 0x7fffffff#define ull unsigned long longusing namespace std;int prime[maxn];int n;void init(){    memset(prime, 0, sizeof(prime));    prime[1] = 1;    for(int i  = 2; i < maxn; i++)        if(!prime[i])            for(int j = i ; j < maxn; j+=i)            {                if(!prime[j]) prime[j] = j;                prime[j] -= prime[j] / i;            }}int main(){    init();    for(int i = 2; i < maxn; i++)        prime[i] += prime[i-1];    while(scanf("%d", &n) != EOF && n)    {        printf("%d\n", prime[n]*2-1);    }    return 0;}


0 0