题意:
求在第一象限,
隐藏的好深的欧拉函数
只要坐标x和y互质就可以了,
又因为是矩阵,可以只算下三角,就可以了,最后*2+1(x=y=1是一个特殊的点),
#include"stdio.h"
#include"string.h"
#define N 1001
int phi[N];
void prime()
{
int isPrime[N];
int i,j;
int A[N],cnt;
memset(isPrime,0,sizeof(isPrime));
isPrime[0]=isPrime[1]=1;
cnt=0;
for(i=2;i<N;i++)
{
if(isPrime[i]==0)
{
A[cnt++]=i;
phi[i]=i-1;
}
for(j=0;j<cnt&&i*A[j]<N;j++)
{
isPrime[i*A[j]]=1;
if(i%A[j]==0)
{
phi[i*A[j]]=phi[i]*A[j];
break;
}
else phi[i*A[j]]=phi[i]*(A[j]-1);
}
}
}
int main()
{
int ans;
int T;
int i;
int n;
int t=1;
scanf("%d",&T);
prime();
while(T--)
{
scanf("%d",&n);
ans=0;
phi[1]=1;
for(i=1;i<=n;i++)
ans+=phi[i];
printf("%d %d %d\n",t++,n,2*ans+1);
}
return 0;
}