题解:
显然当坐标不互质的时候
是可以看得见的
所以线性筛选欧拉函数
代码:
#include<bits/stdc++.h>
using namespace std;
const int N=;
int n,ans,p[N],phi[N],prime[N];
void getphi()
{
phi[]=;
for (int i=;i<=n;i++)
{
if (!p[i])
{
prime[++prime[]]=i;
phi[i]=i-;
}
for (int j=;j<=prime[]&&i*prime[j]<=N;j++)
{
p[i*prime[j]]=;
if (i%prime[j]==)
{
phi[i*prime[j]]=phi[i]*prime[j];
break;
}
else phi[i*prime[j]]=phi[i]*(prime[j]-);
}
}
}
int main()
{
scanf("%d",&n);
if (n==){puts("");return ;}
if (n==){puts("");return ;}
getphi();
for (int i=;i<n;i++)ans+=phi[i];
ans*=;ans+=;
printf("%d\n",ans);
}