#include<stdio.h>
#include<math.h>
int sushu(int a)//判断一个数是否为质数
{
int i=2;
if(a==1) return 0;
if(a==3||a==2) return 1;
for(i=2;i<=sqrt(a);i++)
{
if(a%i==0)
{
return 0;
}
}
return 1;
}
int main(void)
{
int n,i,a[101],r,j;
int b[101],k=0,num=0;
scanf("%d",&n);//输入数组中数字的数目
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(j=0;j<n;j++)
{
r=sushu(a[j]);
if(r==1)
{
b[k++]=a[j];//若该数为质数则将这个数存在数组中
num++;//记录k最后的值
}
}
for(k=0;k<num;k++)
{
printf("%d ",b[k]);//输出所有质数
}
return 0;
}
洛谷p5736质数筛 c语言
最新推荐文章于 2024-03-26 21:25:36 发布