#include<stdio.h>
#include<iostream>
#include<string.h>
#define MAX 100000
long long su[MAX],cnt=1;
bool isPrime[MAX];
void prime()
{
memset(isPrime,1,sizeof(isPrime));
memset(su,0,sizeof(isPrime));
isPrime[0]=isPrime[1]=0;
int cnt=0;
for(long long i=2;i<=MAX;i++)
{
if(isPrime[i])
{
cnt++;
for(long long j=i*2;j<=MAX;j+=i)
{
isPrime[j]=0;
}
if(isPrime[cnt])
{
su[i]=1;
}
}
}
}
int main()
{
int num;
int n;
prime();
scanf("%d",&n);
while(n--)
{
scanf("%d",&num);
if(su[num])
printf("YES");
else
printf("NO");
}
return 0;
}
普通线性筛选素数
猜你喜欢
转载自blog.csdn.net/weixin_42173193/article/details/80860409
今日推荐
周排行