tjut 2824

来源:互联网 发布:sql中minus 编辑:程序博客网 时间:2024/06/06 20:36
#include<iostream>#include<cstring>const int MAXN=3000000+10;using namespace std;int E[MAXN],prime[MAXN];bool visit[MAXN];void Eorue(){    memset(visit, false, sizeof(visit));        for(int i = 2; i <= MAXN; i++)    {        if(!visit[i])        {            prime[++prime[0]] = i;            E[i] = i - 1;        }        for(int j = 1; j <= prime[0] && prime[j] * i <= MAXN; j++)        {            visit[prime[j]*i] = true;            if(i % prime[j] == 0)            {                E[i*prime[j]] = E[i] * prime[j];                break;            }            else                E[i*prime[j]] = E[i] * (prime[j] - 1);        }    }}int main(){    int a,b;    Eorue();    while(scanf("%d%d",&a,&b)!=EOF){        long long ans=0;        for(int i=a;i<=b;i++){            ans+=(long long)E[i];        }        printf("%lld\n",ans);    }    return 0;}

0 0
原创粉丝点击