#include<stdio.h>
#include<math.h>
int isprime(int n)
{
if(n<=1)
return 0;
if(n<=3)
return 1;
if(n%2==0||n%3==0)
return 0;
for(int i=5;i*i<=n;i=6+i)
{
if(n%(i+2)==0||n%i==0)
return 0;
}
return 1;
}
int main()
{
int n,num[10];
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&num[i]);
}
for(int i=0;i<n;i++)
{
if(isprime(num[i]))
{printf("Yes\n");}
else{
printf("No\n");
}}
return 0;
}
这题核心在于函数部分,先行判断是否为素数,分别用1,0表示,为后面main函数中的if语句做相应的铺垫。前面1——4比较好判断,不多赘述,主要是后面一部分,数学比较好的小伙伴应该可以发现素数大部分是6n+-1的一个形式,所以只需要满足这个条件的数进行筛选,其余步骤正常写即可