题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2824
注意下输出格式就好了!
直接上代码了!
#include<iostream>
#include<cmath>
#include<cstdio>
#include<iomanip>
using namespace std;
const int maxn = 3000000;
_int64 phi[maxn];
int main(){
int i, j;
for (i = 1; i < maxn; i++) phi[i] = i;
for (i = 2; i < maxn; i += 2) phi[i] /= 2;
for (i = 3; i < maxn; i += 2) if (phi[i] == i){
for (j = i; j < maxn; j += i){
phi[j] = phi[j] / i*(i - 1);
}
}
int a, b;
while (cin >> a >> b){
__int64 sum=0;
for (i = a; i <= b; i++){
sum+=phi[i];
}
printf("%I64d\n",sum);
}
return 0;
}