#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <string>
#include <vector>
#include <queue>
#include <set>
#define LL long long
#define inf 0x8fffffff
#define N 3100000
using namespace std; //hdu2824
LL phi[N]; //欧拉函数模板
void euler_table()
{
LL t, j;
for(j=2; j<3000001; ++j)
{
if(!phi[j])
{
for(t=j; t<3000001; t+=j)
{
if(!phi[t])
phi[t]=t;
phi[t]=phi[t]/j*(j-1);
}
}
}
for(t=3; t<3000001; ++t)
phi[t]+=phi[t-1];
return ;
}
int main()
{
int a, b;
euler_table();
while(scanf("%d%d", &a, &b)!=EOF)
{
printf("%I64d\n", phi[b]-phi[a-1]);
}
return 0;
}
hdu2824欧拉函数模板
最新推荐文章于 2022-06-24 12:37:59 发布