【题目分析】
欧拉函数
【代码】
#include <cstdio>
#include <cmath>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
long long phi[3000001],pri[3000001];
int top=0,l,r;
inline void init()
{
for (int i=2;i<=3000000;++i)
{
if (!phi[i]) pri[++top]=i,phi[i]=i-1;
for (int j=1;j<=top&&i*pri[j]<=3000000;++j)
{
if (i%pri[j]==0) {phi[i*pri[j]]=phi[i]*pri[j];break;}
else phi[i*pri[j]]=phi[i]*(pri[j]-1);
}
}
}
int main()
{
init();
for (int i=2;i<=3000000;++i) phi[i]+=phi[i-1];
while (scanf("%d%d",&l,&r)!=EOF)
printf("%lld\n",phi[r]-phi[l-1]);
}