题解 | #筛选法求素数#
筛选法求素数
https://www.nowcoder.com/practice/06c3dcc303654ef4926654023eca1e5a
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main() {
int a,*arr,i,j,count=0;
scanf("%d",&a);
arr=malloc(sizeof(int)*(a-1));//开辟合适空间存储数组
for(i=0;i<a-1;i++)//遍历数组
{
arr[i]=i+2;//初始化数组
for(j=2;j<=sqrt(arr[i]);j++)
{
if(arr[i]%j==0)//判断是否素数
{
arr[i]=0;
count++;
}
}
if(arr[i])
printf("%d ",arr[i]);
}
printf("\n%d\n",count);
return 0;
}