大意不再赘述。
思路:F2 = 1, F3 = 3, F4 = 5, F5 = 9;
F3-F2 = 2,F4-F3 = 2,F5-F4 = 4;说明F3 = α(2)+α(3),F4 = α(2)+α(3)+α(4);
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
typedef long long LL;
const int MAXN = 1000010;
LL n;
LL phi[MAXN];
void init()
{
for(int i = 2; i < MAXN; i++) phi[i] = 0;
phi[1] = 1;
for(int i = 2; i < MAXN; i++) if(!phi[i])
{
for(int j = i; j < MAXN; j += i)
{
if(!phi[j]) phi[j] = j;
phi[j] = phi[j] / i * (i-1);
}
}
for(int i = 3; i <= 1000001; i++) phi[i] += phi[i-1];
}
int main()
{
init();
while(scanf("%d", &n) && n)
{
printf("%lld\n", phi[n]);
}
return 0;
}