2021.7.12
质数的基础题
#include<stdio.h>
#include<math.h>
int main()
{
int n,a,i,sum,f,h;
while(scanf("%d",&n)!=EOF)
{
sum=0;
while(n--)
{
scanf("%d",&a);
f=0;//记得清零
if(a==2)
{
sum++;
}
else if(a&1)//简单来说就是a是奇数(可以换其他写法...)
{
h=sqrt(a);//这一步必须单独拿出来写,要不然会超时,之前还有个剪枝后的版本,这步没拿来导致错误
for(i=2; i<=h; i++)
{
if(a%i==0)
{
f=1;
break;
}
}
if(!f)
sum++;
}
}
printf("%d\n",sum);
}
}