这不是裸的反演吗。。。。直接上nlogn的方法
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
#define maxn 41000
int f[maxn],n;
int main()
{
scanf("%d",&n);n--;
for(int i=n;i;i--)
{
f[i]=n/i*(n/i);
for(int j=2;j*i<=n;j++)
{
f[i]-=f[j*i];
}
}
printf("%d",f[1]+2);
return 0;
}