题解 | 筛选法求素数
筛选法求素数
https://www.nowcoder.com/practice/06c3dcc303654ef4926654023eca1e5a
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int arr[n+1];
int d=0;
for(int i=2;i<n+1;i++)
{
arr[i]=i;
}
for(int p=2;p<n-1;p++)
{
for(int j=2;j<n;j++)
{
if(arr[j+1]%p==0&&j+1!=p)
{
arr[j+1]=0;
}
}
}
for(int i=2;i<n+1;i++)
{
if(arr[i]!=0)
{
printf("%d ",arr[i]);
}
else
{
d++;
}
}
printf("\n%d",d);
}
查看9道真题和解析