今天yf又加一个虚拟赛,碰到这道题,三个人都没理解什么意思,知道快结束了,菜鸟才说他之前做过,马上就A了!!
好坑爹啊,做过的都不记得了。。。不过还好在结束前最后一分钟A了
#include"stdio.h"
#include"string.h"
#define N 5001
int mark[N];
void fun()
{
int i,j,k;
int f;
memset(mark,0,sizeof(mark));
for(i=1;i<5000;i++)
{
f=0;
for(j=1;j<=i;j++)
{
for(k=1;k<=i;k++)
{
if((j*j*k+1)%i==0&&(j*j+k)%i!=0)
{
f=1;break;
}
}
if(f==1)break;
}
mark[i]=f;
}
}
int main()
{
fun();
int T;
int n;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
printf("%s\n",mark[n]==1?"NO":"YES");
}
return 0;
}