lightoj 1007
2014-08-06 23:26
267 查看
预先处理好phi数组和前缀和,水题。
#include<cstdio> #include<string> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int MAXN = 5e6+10; unsigned long long int phi[MAXN]; void init(){ for(int i = 1;i < MAXN;i ++) phi[i] = i; for(int i = 2;i < MAXN;i += 2) phi[i] /= 2; for(int i = 3;i < MAXN;i += 2){ if(i == phi[i]){ for(int j = i;j < MAXN;j += i) phi[j] = (phi[j]*(i-1)/i); } } for(int i = 1;i < MAXN;i ++) phi[i] = phi[i-1] + phi[i]*phi[i]; } int main(){ init(); int t, a, b, CASE(0); scanf("%d", &t); while(t--){ scanf("%d%d", &a, &b); printf("Case %d: ", ++CASE); printf("%llu\n",phi[b]-phi[a-1] ); } return 0; }
相关文章推荐
- LightOJ 1007 Mathematically Hard
- lightoj 1007 欧拉函数
- Lightoj1007【欧拉函数-素数表】
- lightoj 1007
- Mathematically Hard LightOJ - 1007 (欧拉筛+前缀和)
- Lightoj 1007 - Mathematically Hard
- 基础数学1007 LightOJ 1236
- lightoj 1007
- LightOJ-1007-Mathematically Hard [欧拉函数]
- lightoj 1007
- LightOj1007 - Mathematically Hard(欧拉函数)
- lightoj 1007 - Mathematically Hard 欧拉函数
- lightoj 1007 欧拉函数
- Lightoj 1007
- LightOJ 1007 - Mathematically Hard (欧拉筛+预处理前缀和)
- LightOJ1007 Mathematically Hard
- LightOJ - 1007-Mathematically Hard
- LightOJ 1007 欧拉函数
- LightOJ 1007 Mathematically Hard
- LightOJ1007---Mathematically Hard (欧拉函数)