#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
#define max 10000000
int a[10000000];
int main()
{
int i,j,k,n,m,t;
memset(a,0,sizeof(a));
a[0]=a[1]=1;
for(i=2;i*i<max;i++)
{
if(!a[i])
for(j=i*i;j<=max;j+=i)
{
a[j]=1;
}
}
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
if(!a[n])
printf("%d",n);
printf("\n");
}
return 0;
}
//和素数打表异曲同工,只不过输出时不用加循环
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
#define max 10000000
int a[10000000];
int main()
{
int i,j,k,n,m,t;
memset(a,0,sizeof(a));
a[0]=a[1]=1;
for(i=2;i*i<max;i++)
{
if(!a[i])
for(j=i*i;j<=max;j+=i)
{
a[j]=1;
}
}
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
if(!a[n])
printf("%d",n);
printf("\n");
}
return 0;
}
//和素数打表异曲同工,只不过输出时不用加循环