#include
#include
int main()
{
int N;
int a[]={0};
int D=0;
scanf("%d\n",&N);
for(int i=0;iscanf("%d",&a[i]);
}
//
for(int i=0;i
for (int j=2;j<=sqrt(a[i]);j++)
{
if(a[i]%j==0){
D=1;
break;
}
}
if(D==1)
printf("No\n");
else
printf("Yes\n");
}
return 0;
}
int a[]={0}; 不能动态申请数组,你可以写一个大数组,int a[100]={0};
每次循环数组的时候,把你的标志D置为0,否则,只要有一个是素数,后面都是素数了。
for(int i=0;i<N;i++)
{
D=0;//添加一下标志重置
for (int j=2;j<=sqrt(a[i]);j++)